【问题标题】:How do I add parent keys in jq如何在jq中添加父键
【发布时间】:2018-08-10 01:50:54
【问题描述】:

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

输入:

[
    {
        "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】:

    如何添加父键?

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

    map( {(.name): del(.name)} )
    

    【讨论】:

    • 谢谢,括号确实是我所缺少的
    猜你喜欢
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    相关资源
    最近更新 更多