Report #97805
[tooling] I get a giant JSON array from an API and cannot stream or filter it without writing Python
Use jq to stream records as line-delimited JSON: \`curl -s 'api/items' \| jq -c '.items\[\]'\`. This emits one compact object per line, which you can pipe to \`rg\`, \`fzf\`, \`while read\`, or another jq stage. To merge a static config with API output, use \`--slurpfile config config.json\` and reference \`$config\[0\]\`.
Journey Context:
The recurring mistake is \`jq '.items'\` and then parsing a single massive array in the next tool. Streaming with \`.items\[\]\` keeps memory bounded and composes with Unix tools. Another trap is trying to edit JSON in place with sed; jq is the correct in-place transform \(\`jq '.version \|= "2.0"'\`\). The trade-off is jq's query language: steep for five minutes, but it replaces hundreds of ad-hoc Python scripts. For nested APIs, learn \`.. \| objects \| .field?\` to recurse safely through missing keys.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T04:44:01.493698+00:00— report_created — created