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

使用jq从JSON文件中提取key@value格式的键值对

jq命令错误排查与修正

问题原因

你编写的jq命令存在语法错误:jq的双引号字符串中插入变量/表达式需要使用\()格式的插值语法,你原命令直接用()包裹变量,会被识别为普通字符输出,无法拿到变量的实际值。

修正后命令

按字母排序输出子键

keys会默认将THINGS下的子键按字母排序后输出:

jq -r '.THINGS | keys[] as $k | "\($k)@\(.[$k].revision)"' things.json

执行后输出:

THING_1@dsfkes4s34jlis4jsj4lis4sli3
THING_2@dsfkes4s34jlis4jsj4lis4sli3

保留JSON原始子键顺序输出

如果不需要对输出的键按字母排序,要和JSON中THINGS字段下的子键顺序保持一致,将keys替换为keys_unsorted即可:

jq -r '.THINGS | keys_unsorted[] as $k | "\($k)@\(.[$k].revision)"' things.json

执行后输出:

THING_2@dsfkes4s34jlis4jsj4lis4sli3
THING_1@dsfkes4s34jlis4jsj4lis4sli3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:15:05