Парсинг JSON из командной строки Linux может быть полезен при тестировании и отладки веб-приложений, а так же для непосредственного использования Json в различных Bash сценариях .
В 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"
}