如何使用jq为JSON数组添加多父键?实操问题求助
解决jq包装数组为带多键对象的问题
嘿,我来帮你搞定这个jq的小问题!你想要把example.json里的数组包装成一个包含target和datapoints两个键的对象,其实只需要调整一下jq的表达式就行。
正确的命令
你不需要用-s选项(这个选项会把输入内容当作数组来处理,但你的文件本身已经是一个数组了),直接用下面的命令就能得到你想要的结果:
jq '{target: "Systolic", datapoints: .}' example.json
或者如果你习惯用管道的方式:
cat example.json | jq '{target: "Systolic", datapoints: .}'
命令解释
{target: "Systolic"}:直接创建一个键为target,值为字符串"Systolic"的字段。datapoints: .:这里的.代表整个输入的JSON内容(也就是你文件里的那个二维数组),把它赋值给datapoints键。
验证结果
运行这个命令后,输出的内容正好是你想要的目标格式:
{ "target": "Systolic", "datapoints": [ [ "126", 1522767000 ], [ "122", 1522859400 ], [ "126", 1523348520 ] ] }
内容的提问来源于stack exchange,提问作者TryTryAgain
相关产品推荐
相关产品推荐

