Я хочу выбрать конкретный предмет из массива, используя Contains, и получить первый предмет, используя JQ.
JQ:
.amazon.items[] | select(.name | contains ("shoes"))
JSON:
{
"amazon": {
"activeitem": 2,
"items": [
{
"id": 1,
"name": "harry potter",
"state": "sold"
},
{
"id": 2,
"name": "adidas shoes",
"state": "in inventory"
},
{
"id": 3,
"name": "watch",
"state": "returned"
},{
"id": 4,
"name": "adidas shoes",
"state": "in inventory"
}
]
}
}
Ожидаемый результат:
{
"activeitem": 2,
"item": {
"id": 2,
"name": "adidas shoes",
"state": "in inventory"
}
}
Факт:
Пробовал различные варианты, например, но не получил ожидаемый ответ.
- .amazon.items [] |выберите (.name | содержит ("обувь"))
- .amazon.items |выберите (. []. имя | содержит ("обувь")) |. [0]
Также, когда я пытаюсь объединить activeitem и Item, я получаю что-то вроде этого, что также неправильно.
{
"activeitem": 2,
"item": {
"id": 2,
"name": "adidas shoes",
"state": "in inventory"
}
},
{
"activeitem": 2,
"item": {
"id": 2,
"name": "adidas shoes",
"state": "in inventory"
}
}