JSONPath
counsel-jq
JSONPath | counsel-jq | |
---|---|---|
1 | 3 | |
927 | 123 | |
1.5% | 1.6% | |
6.7 | 0.0 | |
9 days ago | 10 months ago | |
JavaScript | Emacs Lisp | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
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/
counsel-jq
-
jq 1.7 Released
Didn’t know this. Thanks for the tip!
Personally, when I test REST APIs, I use „restclient.el“ all the time which also comes with a great JQ integration („jq-set-var“ for example for deriving request variables from responses). For traversing larger responses I use „counsel-jq“ in a customized JSON mode: https://github.com/200ok-ch/counsel-jq
But I’ll give the major mode a try, too.
- jless: a command-line JSON viewer, written in Rust
-
Extracting Objects Recursively with Jq
If anyone is an emacs user and this sounds compelling, I recommend counsel-jq[0] for the sort of feedback loop described here.
[0]: https://github.com/200ok-ch/counsel-jq
What are some alternatives?
gojq - Pure Go implementation of jq
jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure
jfq - JSONata on the command line
fq - jq for binary formats - tool, language and decoders for working with binary and text formats
fzf - :cherry_blossom: A command-line fuzzy finder
visidata - A terminal spreadsheet multitool for discovering and arranging data
rsl - reserialise: lossy but versatile conversion between data serialisation formats
yamlpath - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.
jackson-jq - jq for Jackson Java JSON Processor
yaml.el - YAML parser in Elisp