Fish Shell:
Робота з JSON

Як це зробити:

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

Розбір JSON з jq

Для розбору файлу JSON і витягнення даних за допомогою jq:

# Припустимо, у вас є файл JSON з назвою 'data.json' з вмістом: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Приклад виводу
"Fish Shell"

Генерація JSON з jq

Створення вмісту JSON зі змінних оболонки або виводів:

# Створити JSON-об’єкт із змінних
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Приклад виводу
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

Фільтрація масивів JSON

Припустимо, у нас є масив об’єктів JSON у файлі під назвою versions.json:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

Щоб відфільтрувати цей масив лише для стабільних версій:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# Приклад виводу
"3.1.2"
"3.4.0"

Наведені приклади демонструють потужність інтеграції jq з Fish Shell для операцій з JSON. Використання таких інструментів збагачує досвід роботи з оболонкою, роблячи її міцним середовищем для обробки сучасних форматів даних.