Skip to content

Latest commit

 

History

History

gjson

@woifes/gjson

Why?

This package implements the GSJON json document search. The focus lies on the search aspect of GJSON because even though NodeJS comes with a good build-in JSON support. It misses a commong searching syntax.

Please check the source code before using this package

Installation

npm install @woifes/gjson

Quick start

import { get } from "@woifes/gjson";

const exampleJson = {
    name: { first: "Tom", last: "Anderson" },
    age: 37,
    children: ["Sara", "Alex", "Jack"],
    "fav.movie": "Deer Hunter",
    friends: [
        { first: "Dale", last: "Murphy", age: 44, nets: ["ig", "fb", "tw"] },
        { first: "Roger", last: "Craig", age: 68, nets: ["fb", "tw"] },
        { first: "Jane", last: "Murphy", age: 47, nets: ["ig", "tw"] },
    ],
};

console.log( get(exampleJson, "name.first") ); //"Tom"

Supported GJSON features

GSJON feature Supported? Notes
Path Structure YES
Basic YES
Wildcards YES
Escape Character YES
Arrays YES
Queries YES
Dot vs Pipe YES
Modifiers NO
Modifier arguments NO
Custom modifiers NO
Multipaths NO
Literals NO
JSON Lines NO

This table is taken from the docs of gjson-py

Running the build

The project is part of a monorepo. If the project is checked out in this environment use the following scripts:

TypeScript build:

pnpm run compile

Run tests:

pnpm test