【问题标题】:Add field into an array element and keep the original structure将字段添加到数组元素中并保持原始结构
【发布时间】:2020-10-24 05:05:02
【问题描述】:

您好,我有一个对象数组作为输入,例如

[{"keyA": "value"}, {"keyA": "otherValue"}...]

存储在 bash 环境变量中。我想保留整个数组,但添加/更新结果如下的第一个元素

[{"keyA": "value", "newkey": "newvalue"}, {"keyA": "otherValue"}...]

我试过了

echo $a | jq '.[0]+{"newkey": "value"}'

但结果是单个元素

{"keyA": "value", "newkey": "newvalue"}
echo $a | jq '.,.[0]+{"newkey": "newvalue"}'

但结果是

[{"keyA": "value"}, {"keyA": "otherValue"}...] {"keyA": "value", "newkey": "newvalue"}

如何获取完整的数组输入集并更新第一个元素?

【问题讨论】:

    标签: arrays json add jq


    【解决方案1】:

    您需要在那里使用update operator 来保留原始结构和内容。例如:

    .[0] += { newkey: "newvalue" }
    

    【讨论】:

      猜你喜欢
      • 2020-02-01
      • 2016-07-31
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多