У меня есть вызов, который возвращает большой массив объектов.
Объекты выглядят так:
{
"accounts": [
{
"id": 1234,
"name": "Sample Name",
"status": "upgraded",
"subscription": {
"id": 4567,
"products": [
{
"product_id": 5,
"name": "Awesome Product",
"units": 1,
"price": 1
},
{
"product_id": 1,
"name": "Another Awesome Product",
"units": 1,
"price": 1
}
]
},
"owner": {
"id": 12345,
"email": "email@email.com",
"first_name": "John",
"last_name": "Doe",
"state": "active"
}
}
]
}
В этом массиве много разных объектов с разными владельцами , и я хочу вернуть массив, содержащий только идентификатор (первое свойство объекта), ЕСЛИ свойство owner равно 12345.
Пока что у меня есть
| jq -r '.accounts[] | [.id]'
, который возвращает ВСЕ "id" в объекте, но у меня возникли проблемы с фильтрацией этого массива на основе значения "owner"
Я пробовал добавить:
| jq -r '.accounts[] | [.id] | select(.id == 12345)'
Но сейчас выдает ошибку
Cannot index array with string "id"