jq

17 commands

17 shown

Красивый вывод JSON Форматировать и раскрасить JSON файл cat data.json | jq '.' #jq Фильтр по полю Выбрать объекты где поле равно значению cat data.json | jq '.items[] | select(.status == "Running")' #jq Извлечь конкретные поля Выбрать только нужные поля в новый массив cat data.json | jq '[.items[] | {name:.metadata.name, ns:.metadata.namespace}]' #jq Группировка по полю Агрегировать элементы по значению поля cat data.json | jq 'group_by(.namespace) | map({ns: .[0].namespace, count: length})' #jq Удалить поле Удалить поле из JSON вывода cat data.json | jq 'del(.metadata.managedFields)' #jq Массив в строки Raw вывод (-r) для скриптов; одно значение на строку cat data.json | jq -r '.items[].metadata.name' #jq Объединить два JSON объекта Глубокое слияние двух JSON файлов (override побеждает) jq -s '.[0] * .[1]' base.json override.json #jq Выбрать непустые поля Отфильтровать элементы массива где value не null jq '[.[] | select(.value != null)]' data.json #jq Группировать по полю Подсчитать записи сгруппированные по полю status jq 'group_by(.status) | map({status: .[0].status, count: length})' data.json #jq Уплостить вложенный массив Уплостить один уровень вложенных массивов jq 'flatten(1)' nested.json #jq Массив в объект (by key) Создать объект с ключами из поля id jq 'INDEX(.[]; .id)' items.json #jq Слить два объекта Глубокое слияние двух JSON объектов (правый приоритетнее) jq -s '.[0] * .[1]' base.json override.json #jq Безопасно извлечь вложенное значение Опциональные цепочки с запасным значением по умолчанию jq '.config?.database?.host // "localhost"' config.json #jq Сортировать по числовому полю Получить 5 последних событий отсортированных по timestamp jq 'sort_by(.timestamp) | reverse | .[0:5]' events.json #jq JSON в CSV Вывести выбранные поля в формате CSV jq -r '.[] | [.id, .name, .status] | @csv' data.json #jq Добавить поле каждому элементу Добавить новую пару ключ-значение в каждый элемент массива jq '[.[] | . + {"env": "prod"}]' items.json #jq Обойти и преобразовать строки Рекурсивно привести все строковые значения к нижнему регистру jq 'walk(if type == "string" then ascii_downcase else . end)' data.json #jq
no commands match