Our great sponsors
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.
fx
- Bash/Zsh autocomplete for JSON fields
- Fx 32.0, now with YAML support too
- Fx JSON viewer now supports YAML
-
Jaq – A jq clone focused on correctness, speed, and simplicity
There's also this awesome tool to make JSON interactively navigable in the terminal:
https://fx.wtf
- Fx 31.0.0 Release
- FLaNK Stack Weekly for 30 Oct 2023
- jq 1.7
-
Modern Linux Tools vs. Unix Classics: Which Would I Choose?
Using awk/sed to parse json seems to be using the wrong tool for the job.
As an alternative to jq with easier to remember syntax, see https://fx.wtf/
Recent discussion: https://news.ycombinator.com/item?id=37567009
- Fx – Terminal JSON Viewer
- fx – terminal JSON viewer
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?
jless - jless is a command-line JSON viewer designed for reading, exploring, and searching through JSON data.
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jiq - jid on jq - interactive JSON query tool using jq expressions
jfq - JSONata on the command line
jid - json incremental digger
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.
rq - Record Query - A tool for doing record analysis and transformation
pup - Parsing HTML at the command line
kubectl-jq - Kubectl plugin that works like "kubectl get" but runs everything through a JQ program you provide
JsonPath - Java JsonPath implementation
ngs - Next Generation Shell (NGS)
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON