给定格式如下的 json 文件:
[
{
name : "A",
value : "1"
},
{
name : "B",
value : "5"
},
{
name : "E",
value : "8"
}
]
我将如何使用 jq 将其转换为这样的内容:
{
"A" : {
name : "A",
value : "1"
},
"B" : {
name : "B",
value : "5"
},
"E" : {
name : "E",
value : "8"
}
}
jq '{(.[].name) : "the name"}' 'myfile.json'
给我一个带有 [].name 键的对象,但我如何将对象分配给它?
最佳答案
map( { (.name|tostring): . } ) | add
(
tostring
是为了安全/稳健。)指数/1
如果你的 jq 有
INDEX/1
(在1.5版本发布后引入),你可以简单地写:INDEX(.name)
关于json - 使用 jq,将对象数组转换为具有命名键的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42427725/