使用jq

时间:2018-10-11 14:26:44

标签: json jq

我有一个如下的json文件。我想使用jq向该文件中的每个对象添加“ stable”:“ yes”。我该怎么办?

 [
    {
        "id":"1",
        "name":"Blue"
    },
    {
        "id":"2",
        "name":"Red"
    }
 ]

我希望它像这样:

 [
    {
        "id":"1",
        "name":"Blue",
        "stable": "yes"
    },
    {
        "id":"2",
        "name":"Red",
        "stable": "yes"
    }
 ]

1 个答案:

答案 0 :(得分:1)

map+将执行以下操作:

$ jq 'map(. + {stable: "yes"})' tmp.json
[
  {
    "id": "1",
    "name": "Blue",
    "stable": "yes"
  },
  {
    "id": "2",
    "name": "Red",
    "stable": "yes"
  }
]

由于输入是一个数组,所以.指向该数组中的每个对象,我们在其中添加了另一个对象。

请注意,这还将覆盖每个对象中任何现有的stable键。