Обзор
jq принимает данные JSON на вход и обрабатывает их различными способами, а затем выводит результат. Он способен как извлекать простые значения, так и выполнять сложные операции с массивами/объектами, что делает его незаменимым инструментом при работе с JSON в скриптовых средах.
Основные функции
- Парсинг и форматирование данных JSON
- Извлечение и фильтрация определенных полей
- Манипуляции с массивами и объектами
- Преобразование и реструктуризация данных
Основные опции
Формат ввода/вывода
Фильтрация/Преобразование
Сгенерированная команда:
Комбинируйте команды.
Описание:
`jq` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Базовое форматирование JSON
echo '{"name": "Alice", "age": 30}' | jq .
Выводит введенный JSON в удобочитаемом формате.
Извлечение определенного поля
echo '{"name": "Bob", "age": 25}' | jq '.name'
Извлекает значение поля 'name' из объекта JSON.
Извлечение поля из элементов массива
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'
Извлекает поле 'name' из каждого объекта в массиве JSON.
Вывод необработанной строки
echo '{"city": "Seoul"}' | jq -r '.city'
Выводит извлеченное строковое значение без кавычек.
Выбор нескольких полей и создание нового объекта
echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'
Создает новый объект, содержащий только поля 'name' и 'age' из существующего объекта.
Фильтрация по условию
echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'
Фильтрует только пользователей старше 30 лет.
Преобразование элементов массива (map)
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'
Преобразует имя каждого пользователя в верхний регистр.