以以下格式提供json文件:
[
{
"name" : "A",
"value" : "4"
},
{
"name" : "B",
"value" : "2"
},
{
"name" : "C",
"value" : {
"X": "Something",
"Y": "Else"
}
}
]
我如何使用jq将其转换为类似的内容?
{
"A": "4",
"B": "2",
"C": {
"X": "Something",
"Y": "Else"
}
}
我确实使用jq 'map( { (.name): .value } )
接近了,但是仍然将每个对象放在单独的括号中,而不是将它们放在一起。
答案 0 :(得分:2)
使用您的方法,只需将add
添加到过滤器中即可:
map( { (.name): .value } ) | add