Парсинг Json в командной строке Linux

Парсинг JSON из командной строки Linux может быть полезен при тестировании и отладки веб-приложений, а так же для непосредственного использования Json в различных Bash сценариях .

Парсинг Json в командной строке Linux
В Linux имеет JSON-процессор командной строки jq. Используя jq, возможно легко анализировать, фильтровать, отображать и преобразовывать данные в формате JSON.

Установка jq в linux

Установка jq в Ubuntu или Debian

apt-get install jq

Установка jq в CentOS или RHEL

yum install jq

Парсинг JSON строки в jq

В следущих примерах показано, как анализировать Json с помощью jq.

Пример json данных

cat json.txt
{
        "name": "Test",
        "address":
                {
                        "streetAddress": "Tverskaya street, 13",
                        "city": "Moscow",
                        "postalCode": 123456
                },
        "employees":
                [
                        {
                                "name": "Ivan",
                                "division": "Engineering"
                        },
                        {
                                "name": "Mariya",
                                "division": "HR"
                        }
                ]
}

Пансинг объекта JSON

cat json.txt | jq '.name'
"Test"

Парсинг вложенного объекта JSON

cat json.txt | jq '.address.city'
"Moscow"

Парсинг массива JSON

cat json.txt | jq '.employees[0].name'
"Ivan"

Извлечение определенных полей из JSON объекта

cat json.txt | jq '.address | {streetAddress, city}'
{
"streetAddress": "Tverskaya street, 13",
"city": "Moscow"
}

Добавить комментарий