jq-mode
JSONPath
Our great sponsors
jq-mode | JSONPath | |
---|---|---|
2 | 1 | |
106 | 924 | |
- | 2.4% | |
4.9 | 6.8 | |
about 2 months ago | about 1 month ago | |
Emacs Lisp | JavaScript | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
jq-mode
-
jq 1.7 Released
Seeing this news today, I decided to give jq another try and ended up discovering jq-mode [1] for emacs. It doesn't just support jq filter file editing, it supports jq in org-mode and something else called 'jq-interactively'. This interactive mode allows you to apply jq interactively on a JSON or YAML (with yq) buffer. The buffer contents become the filtered value when you finish editing the jq filter with a return. This is especially impressive to see in yaml files.
[1] https://github.com/ljos/jq-mode
- Any JSON viewing/filtering package for Emacs?
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/
What are some alternatives?
restclient.el - HTTP REST client tool for emacs
gojq - Pure Go implementation of jq
jackson-jq - jq for Jackson Java JSON Processor
jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure
rsl - reserialise: lossy but versatile conversion between data serialisation formats
fq - jq for binary formats - tool, language and decoders for working with binary and text formats
fx - Terminal JSON viewer & processor
visidata - A terminal spreadsheet multitool for discovering and arranging data
swift-mode - Emacs support for Apple's Swift programming language.
yamlpath - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.
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.