Как провести выборку по различным критериям из многоуровневого массива JSON?
json
{
"customers": [
{
"apps": [
{
"name": "customer-1-app-1"
},
{
"name": "customer-1-app-2"
}
],
"name": "customer-1"
},
{
"apps": [
{
"name": "customer-2-app-1"
},
{
"name": "customer-2-app-2"
}
],
"name": "customer-2"
}
]
}
Как более лаконично, при помощи jq, получить выборку значений для заданного customers.name и apps.name:
Пока нашел такое, немного громоздкое, решение:
jq -r --arg app $APP --arg customer $CUSTOMER \
'.customers[]
| select(.name==$customer)
| .apps[]
| select(.name==$app)' json
Хочу получить в итоге строку вида:
app:customer