Bash:
Робота з JSON

Як:

Bash сам по собі не має вбудованих можливостей для аналізу JSON, але jq - це потужний процесор JSON командного рядка, який заповнює цей прогап. Ось як його використовувати:

Читання файлу JSON:

Зразок data.json:

{
  "name": "Джейн Доу",
  "email": "[email protected]",
  "location": {
    "city": "Нью-Йорк",
    "country": "США"
  }
}

Щоб прочитати та витягти ім’я з файлу JSON:

jq '.name' data.json

Вивід:

"Джейн Доу"

Модифікація даних JSON:

Щоб оновити місто на “Лос-Анджелес” та записати назад у файл:

jq '.location.city = "Лос-Анджелес"' data.json > temp.json && mv temp.json data.json

Аналіз JSON зі змінної:

Якщо у вас є JSON у змінній Bash, jq все одно може обробити його:

json_string='{"name": "Джон Доу", "email": "[email protected]"}'
echo $json_string | jq '.name'

Вивід:

"Джон Доу"

Робота з масивами:

Маючи масив елементів у JSON:

{
  "items": ["яблуко", "банан", "вишня"]
}

Щоб витягнути другий елемент (індексація починається з 0):

jq '.items[1]' data.json

Вивід:

"банан"

Для більш складних операцій та фільтрації, jq має всебічний посібник та навчальні матеріали в інтернеті, роблячи його універсальним інструментом для всіх ваших потреб Bash/JSON.