JQLite - The query language for JSON.
Created a simple query language in Typescript.
Features:
- Basic query selection
- Fallback Mechanism
- Wildcard support
- Array Slices
- Multiple Key Selection
- Key Omission
- Single Key Omission
- Functions
- Comparison Operators
- Conditions
- Configurable
Here’s an example to get a list of all products with an average review more than 4:
$.products[?(@.reviews.#avg() > 4)]
Runs in browsers, and Node.js
Documentation site: https://jqlite.vercel.app/
GitHub: https://github.com/Jay-Karia/jqlite
NPM Package: https://www.npmjs.com/package/jqlite-ts
Data source for the query: https://jqlite.vercel.app/demo.json
Just wondering - what’s wrong with jq’s query language? or JSONPath, which is even a RFC?
What’s the motivation behind creating a new query language?
jq
andJSONPath
are awesome projects, and JQLite is not a replacement for existing tools, but a learning project.Yet another alternative is jsonata.org
Yeah,
I feel like we already have a lot of JSON query languages. So one more is fine, if it’s somehow different and is addressing a problem which the others have missed.
I however, do not see that, so hence my question.
Thanks for your feedback! Will definitely look forward and add the missing features.