我想将数组元素中的值提升为整个元素的父键。
输入:
[
{
"name": "foo",
"value1": "fooval1",
"value2": "fooval2"
},
{
"name": "bar",
"value1": "barval1",
"value2": "barval2"
}
]
输出:
{
"foo":{
"value1": "fooval1",
"value2": "fooval2"
},
"bar":{
"value1": "barval1",
"value2": "barval2"
}
}
首先,我想将.name添加为每个条目的父键。但这不起作用:
jq 'map(.name: {.})'
如何添加父键?
很容易,至少一旦输入文件中的语法错误得到修复。关键是在.name
周围括起括号以形成新键:
map( {(.name): del(.name)} )