Извлечь массив JSON на основе длины подмассива? - PullRequest
0 голосов
/ 25 октября 2018

Учитывая

{
    "result": {
        "spaces": [{
            "priceschema": {
                "prices": [{
                    "costs": [{
                        "amount": "3"
                    }]
                }]
            }
        }]
    }
}

Я хотел бы отобразить все prices, которые имеют более одной стоимости.Я предложил следующий jq-запрос, но он возвращает все затраты, даже те, которые содержат один элемент.

{price: .result.spaces[].priceschema.prices[]?} | select((.price.costs[] | length) > 1)

Обратите внимание, что prices или costs может отсутствовать.

1 Ответ

0 голосов
/ 25 октября 2018

Поскольку вы не привели пример, показывающий желаемый формат вывода, все, что я могу предложить, это следующее:

.result.spaces[].priceschema.prices[]
| {price: .}
| select((.price.costs? | length) > 1)

Надеюсь, это направит вас к ответу, который вы ищете.

...