gron
jello
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.
gron
-
Show HN: Flatito, grep for YAML and JSON files
This looks cool!
It doesn't do quite the same thing, but a tool I've had good luck with for quick-n-dirty grepping of JSON is gron:
https://github.com/tomnomnom/gron
(which I'm sure I learned about from a thread like this on HN...)
It sort of "flattens out" your JSON to allow you to do whatever you want to it (grepping, for one thing!). Then you can even turn gron's output back into JSON with `ungron`.
Maybe someone will find it a useful toolbox addition, much like the Flatito looks to be!
-
Make JSON Greppable
It buffers all of its output statements in memory before writing to stdout:
- 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
Obligatory reference to "gron" ("make JSON greppable"), which I find to be quite useful for many common use cases:
-
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
jello
-
jq 1.7 Released
A couple more alternatives:
Jello let’s you use python syntax with dot notation without the stdin/stdout/json.loads boilerplate.
-
Simple Apache Log Parser
Yep, you can create a filter in jq to do that. Alternatively, if you prefer Python syntax you could try jello, which works like jq but is really Python under the hood. (I am also the author of jello)
- I'm developing a new command line tool for querying and transforming JSON files , called ~Q (pronounced "unquery"). My design goal is to create a tool that is powerful yet easy to use (aim to be more intuitive for users than existing tools such as jq). Let me know your thoughts and suggestions.
-
An introduction to the magic of jq - Understanding the basics of jq with a realistic example
I'm no expert in any of these tools, but here are some yamlpath and jello examples to match:
-
Show HN: gq – like jq or zq, but you use Go
Similar in concept to jello[0] which works like jq but uses python syntax.
- Parsing Complex JSON
-
Searching for a value in json with jq
jello:
- Ask HN: Local Tools for Viewing JSON
-
Looking for a CLI tool that can format a json file.
Others (some offer more than just formatting): jello
What are some alternatives?
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jfq - JSONata on the command line
jellex - TUI to filter JSON and JSON Lines data with Python syntax
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.
pup - Parsing HTML at the command line
dasel - Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
JsonPath - Java JsonPath implementation
jsonslicer - Stream JSON parser for Python
jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
fx - Terminal JSON viewer & processor
miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON