jq
Command-line JSON processor with its own language for filtering and transforming data.
HN commenters use jq to parse JSON from APIs in terminal pipelines and shell scripts,1234 and increasingly tell AI coding agents to use it for structured data.567 The caveats are few: its syntax can send users back to the manual,89 and one commenter prefers FracturedJson for pretty printing.10
Why people recommend it
Agent tooling · 3
Commenters tell AI agents to use jq so they can work with JSON and large structured data without loading it whole.
“5-6 tokens telling it to use `jq` in AGENTS.md was the right call for us.”
“There are two CLIs are particularly powerful for working with large structured data: `jq` and `duckdb` cli.”
Show 1 more
“jq is what, 15 years old? I see LLMs using it all the time.”
Shell scripting glue · 3
A standard small tool next to sed, awk and curl, and it makes Bash scripts less painful.
“For small stuff I use bash / sed / awk / jq / yq / curl etc.”
“it becomes a lot less painful when I can just pull in `jq`”
Show 1 more
“Thanks to jq-lang and the jq-wrapper tomlq”
API debugging · 2
Piping curl into jq inspects API responses in seconds without opening Postman.
“jq piped with curl for API debugging.”
“5-6 tokens telling it to use `jq` in AGENTS.md was the right call for us.”
Expressive language · 2
Praised as an extremely good language for its task, with an interesting VM underneath.
“I love jq, though. It provides an extremely good language for its task”
“it's kind of mind-blowing how it works under the hood”
Git filters · 1
Works well as a Git clean filter that strips output from Jupyter notebooks.
“I use a long "jq" command [0] as a Git clean filter for my Jupyter notebooks, and it works really well.”
Caveats and dissent
Syntax learning curve · 2
Writing non-trivial programs often requires checking the manual, and the syntax is described as funky.
“I love jq, though. It provides an extremely good language for its task”
“it's kind of mind-blowing how it works under the hood”
Pretty printing · 1
One commenter prefers FracturedJson's pretty-printed output to jq's.
“I much prefer fracjson[0] pretty printing to jq”
Often compared with
Who recommends it in their own words
Threads where it came up
- Agents don't need memory, they need documentation 1 mention
- Using jq to format JSON on the clipboard 1 mention
- Amber the programming language compiled to Bash/Ksh/Zsh 1 mention
- Good Tools Are Invisible 1 mention
- How a New DSL May Survive in the Era of LLMs 1 mention
- Your Rust Clippy Config Should Be Stricter 1 mention
Data: jq.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 12
“5-6 tokens telling it to use `jq` in AGENTS.md was the right call for us.”
“I much prefer fracjson[0] pretty printing to jq”
“For small stuff I use bash / sed / awk / jq / yq / curl etc.”
“I love jq, though. It provides an extremely good language for its task”
“jq is what, 15 years old? I see LLMs using it all the time.”
“Thanks to jq-lang and the jq-wrapper tomlq”
“using jq, ripgrep, and the messages[2] flagged in the stop guard script”
“jq piped with curl for API debugging.”
“it's kind of mind-blowing how it works under the hood”
“There are two CLIs are particularly powerful for working with large structured data: `jq` and `duckdb` cli.”
“it becomes a lot less painful when I can just pull in `jq`”
“I use a long "jq" command [0] as a Git clean filter for my Jupyter notebooks, and it works really well.”