如何在jq中添加父键

问题描述 投票:0回答:1

我想将数组元素中的值提升为整个元素的父键。

输入:

[
    {
        "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: {.})'

json object jq
1个回答
1
投票

如何添加父键?

很容易,至少一旦输入文件中的语法错误得到修复。关键是在.name周围括起括号以形成新键:

map( {(.name): del(.name)} )
© www.soinside.com 2019 - 2024. All rights reserved.