Используя jq, преобразуйте массив пар имя / значение в объект с именованными ключами - PullRequest
0 голосов
/ 13 сентября 2018

Учитывая файл json в формате:

[
  {
    "name" : "A",
    "value" : "4"
  },
  {
    "name" : "B",
    "value" : "2"
  },
  {
    "name" : "C",
    "value" : {
      "X": "Something",
      "Y": "Else"
    }
  }
]

Как бы я преобразовал его в нечто подобное, используя jq:

{
  "A": "4",
  "B": "2",
  "C": {
    "X": "Something",
    "Y": "Else"
  }
}

Я подошел близко, используя jq 'map( { (.name): .value } )но это все равно оставляет каждый объект в отдельных скобках вместо того, чтобы объединить их все.

1 Ответ

0 голосов
/ 13 сентября 2018

Используя ваш подход, просто добавьте add к вашему фильтру:

map( { (.name): .value } ) | add
...