// the find
tomnomnom/gron
Make JSON greppable!
gron flattens JSON into discrete `path = value` assignment lines so you can grep, sed, and diff JSON with standard Unix tools instead of learning a query language. It's for anyone who needs to poke around an unfamiliar or undocumented JSON API response without firing up jq.
Zero runtime dependencies and ships as a single static Go binary, so installation is a curl-and-chmod away. The `--ungron` reverse operation is the actual clever part — it round-trips grep'd/sed'd output back into valid JSON, which is what makes this more than a novelty flattener. Also genuinely useful for diffing two JSON blobs line-by-line, something `diff` can't do on raw JSON.
It's essentially a finished tool frozen in place — CHANGELOG and commit activity suggest very light maintenance, so don't expect new features or fast bug turnaround. No streaming-friendly output for huge JSON files beyond the `-s` flag for JSON-lines input; deeply nested or very large documents can produce output that's painful to `--ungron` back correctly if you've grep'd out array elements unevenly. It solves a narrower problem than jq and the README says so itself — once you actually know the JSON's shape, jq will outrun this every time.