Объединение выводов в один хеш / словарь JQ - PullRequest
0 голосов
/ 28 сентября 2018

Итак, у меня есть объект json, который выглядит следующим образом:

[{
    "size": "77824",
    "module": "rfcomm",
    "depcount": "4",
    "deps": []
}, {
    "size": "98304",
    "module": "scsi_transport_iscsi",
    "depcount": "4",
    "deps": []
}, {
    "size": "16384",
    "module": "xt_conntrack",
    "depcount": "1",
    "deps": ["nouveau", "i915"]
}]

И я могу использовать следующее правило jq .[] | { (.module) : (.deps | join(",")) } в серии объектов, которые выглядят так:

{
  "rfcomm": ""
}
{
  "scsi_transport_iscsi": ""
}
{
  "xt_conntrack": "nouveau,i915"
}

Я добавил jq play из того, что вижу.

Что бы я хотел получить, чтобы объединить эти объекты.Так что-то вроде:

{
  "rfcomm": "",
  "scsi_transport_iscsi": "",
  "xt_conntrack": "nouveau,i915"
}

Я немного новичок в JQ, так что я уверен, что есть способ сделать это, я просто не знаю как.

1 Ответ

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

Одна возможность:

[.[] | { (.module) : (.deps | join(",")) }] | add
...