Фильтрация данных JSON по ключу с помощью инструмента командной строки jq

Чтобы фильтровать данные JSON с помощью инструмента командной строки «jq» на основе определенного ключа, вы можете использовать различные методы. Вот несколько методов, которые вы можете использовать:

Метод 1: базовая фильтрация ключей
Вы можете фильтровать данные JSON, указав ключ, по которому вы хотите фильтровать, следующим образом:

jq '.keyName' input.json

Это позволит извлечь значение, связанное с указанным ключом, из файла JSON.

Метод 2: фильтрация ключей с помощью селекторов
Вы можете использовать селекторы для фильтрации данных JSON на основе определенных критериев. Например:

jq '.[] | select(.keyName == "desiredValue")' input.json

Это фильтрует данные JSON на основе того, что условие keyNameравно «desiredValue».

Метод 3: фильтрация по нескольким ключам
Чтобы фильтровать данные JSON на основе нескольких ключей одновременно, вы можете объединить селекторы с помощью запятых:

jq '.[] | select(.keyName1 == "value1" and .keyName2 == "value2")' input.json

Это фильтрует данные, где keyName1равно «value1», а keyName2равно «value2».

Метод 4: вывод определенных пар ключ-значение
Если вы хотите извлечь только определенные пары ключ-значение из данных JSON, вы можете использовать следующий синтаксис:

jq '{ key1: .keyName1, key2: .keyName2 }' input.json

В результате выводится новый объект JSON, содержащий только указанные пары ключ-значение.

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

jq '.parentKey.nestedKey' input.json

При этом значение nestedKeyизвлекается из данных JSON.