GitHub - triggerdotdev/fuzzy-json-search: Search a JSON document by path, content, and inferred content

VSCode style fuzzy search for JSON documents

🚀 Features

  • Use VSCode style fuzzy search on a JSON document
  • Searches through key names, path, raw values and formatted values

💻 Usage

Install Fuzzy JSON Search

$ npm install --save @jsonhero/fuzzy-json-search

The simplest way to search is to create an instance of JSONHeroSearch and pass it a JSON object:

const response = await fetch("https://jsonplaceholder.typicode.com/todos");
const json = await response.json();

const searcher = new JSONHeroSearch(json);

const results = searcher.search("user");

API

JSONHeroSearch.search(query: string)

Performs a fuzzy search against the entire document, ordering by score. Will only return results that score more than 0.

Returns Array<SearchResult<string>>>

SearchResult<string> has the following properties:

item is a string representing the path to the key

score is an ItemScore

ItemScore has the following properties

score is a number, the higher the score the better a match

labelMatch is an array of Match objects

descriptionMatch is an array of Match objects

rawValueMatch is an array of Match objects

formattedValueMatch is an array of Match objects

Match is type { start: number; end: number }