You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq解析非数组格式的多个JSON对象并选取首个对象

你当前的输入是JSON流格式(多个独立JSON对象依次排列),jq默认会逐个处理每个输入对象,所以会依次输出两个对象。要取第一个对象可以用以下两种方案:

方法1:流式读取首个对象(性能更优,适合大体积输入)

搭配-n参数和input内置函数,仅读取第一个JSON对象后就终止处理,无需加载全部输入内容:

echo '{"p":2}{"q":3}' | jq -n 'input'

执行后输出结果为:

{"p":2}

方法2:全量读入数组后取首元素

使用--slurp(简写-s)参数将所有输入的JSON对象打包为一个数组,取下标为0的元素即可:

echo '{"p":2}{"q":3}' | jq -s '.[0]'

内容的提问来源于stack exchange,提问作者daparic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:54:09