Парсинг JSON из командной строки Linux может быть полезен при тестировании и отладки веб-приложений, а так же для непосредственного использования Json в различных Bash сценариях .
В Linux имеет JSON-процессор командной строки jq. Используя jq, возможно легко анализировать, фильтровать, отображать и преобразовывать данные в формате JSON.
Установка jq в linux
Установка jq в Ubuntu или Debian
1 | apt-get install jq |
Установка jq в CentOS или RHEL
1 | yum install jq |
Парсинг JSON строки в jq
В следущих примерах показано, как анализировать Json с помощью jq.
Пример json данных
1 | cat json.txt |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | { "name": "Test", "address": { "streetAddress": "Tverskaya street, 13", "city": "Moscow", "postalCode": 123456 }, "employees": [ { "name": "Ivan", "division": "Engineering" }, { "name": "Mariya", "division": "HR" } ] } |
Пансинг объекта JSON
1 | cat json.txt | jq '.name' |
1 | "Test" |
Парсинг вложенного объекта JSON
1 | cat json.txt | jq '.address.city' |
1 | "Moscow" |
Парсинг массива JSON
1 | cat json.txt | jq '.employees[0].name' |
1 | "Ivan" |
Извлечение определенных полей из JSON объекта
1 | cat json.txt | jq '.address | {streetAddress, city}' |
1 2 3 4 | { "streetAddress": "Tverskaya street, 13", "city": "Moscow" } |