Mik*_*e N 15 json key object command-line-interface jq
给定一个json文件格式为:
[
{
name : "A",
value : "1"
},
{
name : "B",
value : "5"
},
{
name : "E",
value : "8"
}
]
Run Code Online (Sandbox Code Playgroud)
我如何使用jq将其转换为这样的东西:
{
"A" : {
name : "A",
value : "1"
},
"B" : {
name : "B",
value : "5"
},
"E" : {
name : "E",
value : "8"
}
}
Run Code Online (Sandbox Code Playgroud)
jq '{(.[].name) : "the name"}' 'myfile.json'
用[] .name键获取一个对象,但如何将对象分配给它?
pea*_*eak 24
map( { (.name|tostring): . } ) | add
Run Code Online (Sandbox Code Playgroud)
(这tostring
是为了安全/稳健.)
如果您的jq已经INDEX/1
(在1.5版发布之后推出),您可以简单地写:
INDEX(.name)
Run Code Online (Sandbox Code Playgroud)
Jef*_*ado 10
只需构建一个遍历数组中项目的新对象.使用name
作为键将项添加到对象.
reduce .[] as $i ({}; .[$i.name] = $i)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8044 次 |
最近记录: |