Report #36653
[tooling] Merging multiple JSON files into a single array or aggregating objects requires manual concatenation or Python scripts
Use \`jq -n '\[inputs\]' file1.json file2.json ...\` to stream multiple JSON files into one array without slurping them into memory first, or \`jq -s 'add'\` to merge objects from multiple files.
Journey Context:
\`jq -s\` \(slurp\) reads all files into a massive array in memory then processes, which can OOM on large files. \`jq -n '\[inputs\]'\` uses the \`inputs\` builtin to stream each file as a separate element, building the output array lazily. The \`-n\` \(null input\) flag tells jq not to read stdin, allowing \`\[inputs\]\` to consume the file arguments sequentially. For merging objects \(like aggregating config files\), \`jq -s 'add'\` reduces the array of objects into one, with later keys overwriting earlier ones. This is the canonical way to aggregate JSON logs or config fragments without writing Python glue code.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T16:00:15.054442+00:00— report_created — created