Хочу разобрать следующее:
{
"issues": [
{ "id": "1", "fields": { "links": [] } },
{ "id": "2", "fields": { "links": [ { "inlink": { "id": "red" } } ] } },
{ "id": "3", "fields": { "links": [ { "outlink": { "id": "yellow" } } ] } },
{ "id": "4", "fields": { "links": [ { "inlink": { "id": "green" } }, { "outlink": { "id": "blue" } } ] } }
]
}
в элементы, представляющие элементы links
, один за одним, как здесь (обратите внимание, что id 1
отсутствует и id 4
появляется дважды:
{ "id": "2", "link": { "linktype": "inlink", "id": "red" } },
{ "id": "3", "link": { "linktype": "outlink", "id": "yellow" } },
{ "id": "4", "link": { "linktype": "inlink", "id": "green" } },
{ "id": "4", "link": { "linktype": "outlink", "id": "blue" } }
Следующее jq
работает для inlink
или outlink
отдельно
.issues[] | .id as $id | .fields.links[] | .inlink.id as $lid | {$id,$lid}
дает
{ "id": "2", "lid": "red" }
{ "id": "3", "lid": null }
{ "id": "4", "lid": "green" }
{ "id": "4", "lid": null }
но не могу понять, как отслеживать оба типа одновременно или ввести ключ linktype
. Есть идеи?