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. Використання таких інструментів збагачує досвід роботи з оболонкою, роблячи її міцним середовищем для обробки сучасних форматів даних.