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.
ojg
-
Interactive Examples for Learning Jq
I found Jq to be difficult to use which is why Oj, https://github.com/ohler55/ojg is based on JSONPath. There still are a lot of options but it only takes a couple of help screens to figure out what the options are.
-
Building a high performance JSON parser
You might want to take a look at https://github.com/ohler55/ojg. It takes a different approach with a single pass parser. There are some performance benchmarks included on the README.md landing page.
-
A Journey building a fast JSON parser and full JSONPath
I like the "Simple Encoding Notation" (SEN) of the underlying library: https://github.com/ohler55/ojg/blob/develop/sen.md
-
The fastest tool for querying large JSON files is written in Python (benchmark)
For me OjG (https://github.com/ohler55/ojg) has been great. I regularly use it on files that can not be loaded into memory. The best JSON file format for multiple record is one JSON document per record all in the same file. OjG doesn't care if they are on different lines. It is fast (https://github.com/ohler55/compare-go-json) and uses a fairly complete JSONPath implementation for searches. Similar to jq but using JSONPath instead of a proprietary query language.
I am biased though as I wrote OjG to handle what other tools were not able to do.
-
FX: An interactive alternative to jq to process JSON
Another alternative is the oj app (ojg/cmd/oj) which is part of https://github.com/ohler55/ojg. It relies on JSONPath for extraction and manipulation of JSON.
- Go 1.17 Release Notes
-
OjG now has a tokenizer that is almost 10 times faster than json.Decode
Check out the SEN https://github.com/ohler55/ojg/blob/develop/sen.md format. You can have the last comma or leave all of them out and it still supports compliant JSON.
I promise to add more examples but in the mean time there are the test files. The one for Unmarshal is https://github.com/ohler55/ojg/blob/develop/oj/unmashall_test.go
jid
-
Zq: An Easier (and Faster) Alternative to Jq
It took me a while to grok jq, but now that I do I kinda like it? I don't think I want to learn yet another thing.
I do like tools that complement/supplement jq though, like jid: https://github.com/simeji/jid
- Ask HN: Local Tools for Viewing JSON
-
FX: An interactive alternative to jq to process JSON
Apparently, the author wrote this tool because jid was struggling with a 7MB JSON file.
See https://github.com/simeji/jid/issues/66#issuecomment-4436718...
- Tips on Adding JSON Output to Your CLI App
-
How to navigate an API from the terminal
If you're trying to work out the structure and content of an API's JSON responses, you can keep paging through the documentation and the paged output of less or you can reach for more precise JSON parsing tools such as, jq and jid.
-
Help using JQ interactively?
Yeah, I love me some jq, and my first reaction to the JSON tools page was 'What do these bring to the table that jq doesn't?". Gron and Jid changed my mind.
- My favorite cli/tui programs:
- Ask HN: Tools you have made for yourself?
-
List of JSON tools for command line
jid reimplements json filtering stuff. jiq just uses jq internally. It helps with issues like these. https://github.com/simeji/jid/issues/87
What are some alternatives?
jiq - jid on jq - interactive JSON query tool using jq expressions
jsonparser - One of the fastest alternative JSON parser for Go that does not require schema
fx - Terminal JSON viewer & processor
m4b-tool - m4b-tool is a command line utility to merge, split and chapterize audiobook files such as mp3, ogg, flac, m4a or m4b
jsonic - All you need with JSON
fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
ask - A Go package that provides a simple way of accessing nested properties in maps and slices.
jettison - Highly configurable, fast JSON encoder for Go
json2go - Create go type representation from json
ej - Write and read JSON from different sources in one 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.
json-to-proto.github.io - convert JSON to Protocol Buffers online in your browser instantly