Я новичок в jq
и пытаюсь понять, как сделать несколько вещей, которые, как мне казалось, будут простыми. Буду очень признателен за любые идеи о том, как улучшить это.
Учитывая этот ввод:
{
"source": {
"items": [
{ "id": "aaa", "name": "this" },
{ "id": "bbb", "name": "that" },
{ "id": "ccc", "name": "the other" }
]
},
"update": {
"toRemove": [
"aaa",
"ccc"
]
}
}
Я хочу этот результат:
{
"items": [
{ "id": "bbb", "name": "that" }
]
}
Этот фильтр выполняет свою работу, но переменные заставляют меня поверить, что есть более чистый способ.
. as $root | .source + { items: [.source.items[] | select(.id as $id | $root.update.toRemove | contains([$id]) | not)]}
Ссылка на игровую площадку, если интересно: https://jqplay.org/s/GpVJfbTO-Q