Добавить новый ключ / значение для каждого объекта в массиве json в файле с jq - PullRequest
0 голосов
/ 11 октября 2018

У меня есть файл JSON, как показано ниже.Я хочу добавить «стабильный»: «да» для каждого объекта в этом файле с помощью jq.Как я могу это сделать?

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

Я хочу, чтобы это было так:

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

1 Ответ

0 голосов
/ 11 октября 2018

map и + сделают это:

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

Поскольку входные данные являются массивом, . относится к каждому объекту в этом массиве, к которому мы добавляем другой объект.

Обратите внимание, что это также переопределит любой существующий ключ stable в каждом объекте.

...