Skip to content

jorgehermo9/gq-legacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gq

A fast and feature rich JSON filtering tool

 FEATURES  ✨
  • Filtering: filter JSON objects getting only the fields you want, using a GraphQL-like syntax.
  • Url and file compatibility: it can read as input a JSON file, got from a url, a file or from stdin.
  • All JSON types: it supports all JSON types including arrays, objects...
  • Aliases: you can use aliases to rename fields in the output file.
  • Conditions: you can establish conditions that field's values must meet. (To see a detailed list of available operations refer to Operations)
  • Error proof: (almost) all possible errors and warnings are handled and reported to the user using a custom lexer and parser.

 INSTALLATION  🛠

...

 USAGE  🪧

Let's see how easy is to use gq to filter a JSON file.

Over this JSON:

{
  "user": "John",
  "bill": {
    "purchaser": "One S.A",
    "seller": "Two S.A",
    "products": [
      {
        "name": "Product 1",
        "quantity": 3,
        "price": { "value": 1.0, "currency": "EUR" },
        "tags": ["tag1", "tag2"]
      },
      {
        "name": "Product 2",
        "quantity": 1,
        "price": { "value": 2.0, "currency": "USD" },
        "tags": ["tag3"]
      }
    ]
  }
}
  • We can use this simple graphql-like query to get only the name and price of each product:
{
  bill {
    products {
      name
      price
    }
  }
}

About

A fast and feature rich JSON filtering tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages