Если вы часто работаете с текстами формата JSON из командной строки или в шелл-скриптах, вы можете задаться вопросом, есть ли какая-то консольная утилита, которая может распарсить JSON-строку. Консольный JSON-парсер может быть удобен, когда вы тестируете или отлаживаете сетевые JSON-сервисы. Вы можете скормить ответы формата JSON от веб-сервиса консольному JSON-парсеру, тем самым легко изучая трудночитаемые JSON-ответы или извлекая из них отдельные объекты.
В этом руководстве я покажу, как распарсить JSON-строку из командной строки.
В Linux есть консольный JSON-процессор jq, который делает то, что нам необходимо. Используя jq, вы можете парсить, фильтровать, мапить и преобразовывать JSON-структуру данных без особых усилий.
Установите jq из репозитория вашего дистрибутива Linux.
Для Debian и Ubuntu:
$ sudo apt-get install jq
$ sudo dnf install jq
$ sudo zypper install jq
$ wget http://stedolan.github.io/jq/download/linux32/jq # (32-битная система)
$ wget http://stedolan.github.io/jq/download/linux64/jq # (64-битная система)
$ chmod +x ./jq
$ sudo mv jq /usr/local/bin
$ cat json.txt
{
"name": "Google",
"location":
{
"street": "1600 Amphitheatre Parkway",
"city": "Mountain View",
"state": "California",
"country": "US"
},
"employees":
[
{
"name": "Michael",
"division": "Engineering"
},
{
"name": "Laura",
"division": "HR"
},
{
"name": "Elise",
"division": "Marketing"
}
]
}
$ cat json.txt | jq '.name'
"Google"
$ cat json.txt | jq '.location.city'
"Mountain View"
$ cat json.txt | jq '.employees[0].name'
"Michael"
$ cat json.txt | jq '.location | {street, city}'
{
"city": "Mountain View",
"street": "1600 Amphitheatre Parkway"
}
К сожалению, не доступен сервер mySQL