GROQ
gron
GROQ | gron | |
---|---|---|
3 | 64 | |
365 | 13,570 | |
2.5% | - | |
3.4 | 0.0 | |
18 days ago | 7 months ago | |
JavaScript | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GROQ
-
[AskJS] Frontend tool to interactively filter a JSON
Check out the GROQ Arcade: https://groq.dev/
- JSONiq: The JSON Query Language
-
PathQuery, Google's Graph Query Language
PathQuery is of course a lot more complex, but the basic structure seems very similar. One thing GROQ does not have yet is recursive querying of the type needed to traverse graphs, but this is on our roadmap to implement.
(Disclosure: I work on GROQ at Sanity.)
[1] https://github.com/sanity-io/GROQ
[2] https://www.sanity.io/
gron
-
Frawk: An efficient Awk-like programming language. (2021)
gron (https://github.com/tomnomnom/gron) to transform it and query and then invert the transformation?
- Show HN: Flatito, grep for YAML and JSON files
- Gron: Make JSON greppable
-
Make JSON Greppable
It buffers all of its output statements in memory before writing to stdout:
https://github.com/tomnomnom/gron/blob/master/main.go#L204
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Jaq – A jq clone focused on correctness, speed, and simplicity
Have you tried `gron`?
It converts your nested json into a line by line format which plays better with tools like `grep`
From the project's README:
▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page..." | fgrep "commit.author"
json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z";
json[0].commit.author.email = "[email protected]";
json[0].commit.author.name = "Tom Hudson";
https://github.com/tomnomnom/gron
It was suggested to me in HN comments on an article I wrote about `jq`, and I have found myself using it a lot in my day to day workflow
-
Interactive Examples for Learning Jq
> So all I want is a tool to go from json => line oriented and I will do the rest with the vast library of experience I already have at transformations on the command line.*
The tool for that is likely https://github.com/tomnomnom/gron
-
Modern Linux Tools vs. Unix Classics: Which Would I Choose?
If JQ is too much, see GRON &| Miller
gron transforms JSON into discrete assignments to make it easier to grep for what you want https://github.com/tomnomnom/gron
Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON https://github.com/johnkerl/miller
- XML is better than YAML
-
jq 1.7 Released
And jless [1] and gron [2].
This is the first I'm hearing of gron, but adding here for completeness sake. Meanwhile, JSON seems to be becoming a standard for CLI tools. Ideal scenario would be if every CLI tool has a --json flag or something similar, so that jc is not needed anymore.
[1] https://jless.io/
[2] https://github.com/tomnomnom/gron
What are some alternatives?
jfq - JSONata on the command line
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jmespath.py - JMESPath is a query language for JSON.
sanity - Sanity Studio – Rapidly configure content workspaces powered by structured content
xidel - Command line tool to download and extract data from HTML/XML pages or JSON-APIs, using CSS, XPath 3.0, XQuery 3.0, JSONiq or pattern matching. It can also create new or transformed XML/HTML/JSON documents.
brackit - Query processor with proven optimizations, ready to use for your JSON store to query semi-structured data with JSONiq. Can also be used as an ad-hoc in-memory query processor.
pup - Parsing HTML at the command line
logica - Logica is a logic programming language that compiles to SQL. It runs on Google BigQuery, PostgreSQL and SQLite.
JsonPath - Java JsonPath implementation
sirix - SirixDB is an an embeddable, bitemporal, append-only database system and event store, storing immutable lightweight snapshots. It keeps the full history of each resource. Every commit stores a space-efficient snapshot through structural sharing. It is log-structured and never overwrites data. SirixDB uses a novel page-level versioning approach.
fx - Terminal JSON viewer & processor