JSONPath
yq
JSONPath | yq | |
---|---|---|
1 | 24 | |
927 | 2,481 | |
1.5% | - | |
6.7 | 7.7 | |
9 days ago | 18 days ago | |
JavaScript | Python | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
JSONPath
-
jq 1.7 Released
Another great alternative is JSONPath[1] which unfortunately not as widely supported and known despite being brilliant!
It's inspired by XPath so it's very familiar instead of a complete new DSL. The killer feature imo is the recursive key lookup so you can write `people..address` and it'll find all "address" keys that descend from "people" anywhere in the JSON. It's by far my favorite parsing language for JSON and I wrote an introduction blog on how to use it in JSON dataset parsing [2] :)
1 - https://github.com/JSONPath-Plus/JSONPath
2 - https://scrapfly.io/blog/parse-json-jsonpath-python/
yq
- Jaq – A jq clone focused on correctness, speed, and simplicity
- jq 1.7 Released
- Using XPath in 2023
-
How to troubleshoot yaml parsing error "did not find expected key"?
Install jq and yq, and wrap your commands with | yq -y ..
-
Memes are all cool and all. But this is your daily remaining that 10000! =
Confusingly there is another project called yq that does exactly what you're suggesting and it's a preprocessor that converts yaml to json and then used jq. https://github.com/kislyuk/yq
-
inhumane and error-prone
yq
-
Yq is a portable yq: command-line YAML, JSON, XML, CSV and properties processor
I personally find the yq tool from https://github.com/kislyuk/yq much more useful: it has all the same options and formats as `jq` (as it's really a wrapper around jq). Rather than the `yq` in the OP here where only partial functionality exists.
- The YAML Document from Hell
-
Scraping weather info
XML data from the API can be parsed and filtered with xq. There may be multiple ways to get it; first try the yq toolset which includes it.
-
Show HN: Xq – command-line XML and HTML beautifier and content extractor
There is also yq [1], which attempts the same for yaml, toml and xml. (And confusingly also contains a binary named "xq" for querying xml, however with a different syntax)
[1] https://github.com/kislyuk/yq
What are some alternatives?
gojq - Pure Go implementation of jq
jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]
jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure
yq - yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor
fq - jq for binary formats - tool, language and decoders for working with binary and text formats
jq - Command-line JSON processor
visidata - A terminal spreadsheet multitool for discovering and arranging data
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.
yamlpath - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.
xmlq - filter xml in the command line with xpath
rsl - reserialise: lossy but versatile conversion between data serialisation formats
hn-search - Hacker News Search