Fish Shell:
Praca z JSON
Jak to zrobić:
Sam Fish Shell nie posiada wbudowanych narzędzi do analizowania i generowania JSON. Jednakże, bezproblemowo integruje się z narzędziami firm trzecich takimi jak jq
do przetwarzania JSON. jq
jest potężnym i wszechstronnym procesorem JSON-a działającym w wierszu poleceń, który pozwala ci kroić, filtrować, mapować i transformować strukturalne dane przy pomocy prostego i ekspresyjnego języka.
Analizowanie JSON z jq
Aby przeanalizować plik JSON i wyodrębnić dane za pomocą jq
:
# Przyjmując, że masz plik JSON o nazwie 'data.json' z zawartością: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Przykładowe wyjście
"Fish Shell"
Generowanie JSON z jq
Tworzenie treści JSON z zmiennych w powłoce lub wyników:
# Utwórz obiekt JSON z zmiennych
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Przykładowe wyjście
{
"name": "Fish Shell",
"version": "3.4.0"
}
Filtrowanie kolekcji JSON
Załóżmy, że mamy tablicę obiektów JSON w pliku o nazwie versions.json
:
[
{"version": "3.1.2", "stable": true},
{"version": "3.2.0", "stable": false},
{"version": "3.4.0", "stable": true}
]
Aby przefiltrować tę tablicę tylko pod kątem stabilnych wersji:
cat versions.json | jq '.[] | select(.stable == true) | .version'
# Przykładowe wyjście
"3.1.2"
"3.4.0"
Przykłady te pokazują moc integracji jq
z Fish Shell do operacji na JSON. Wykorzystanie takich narzędzi wzbogaca doświadczenie z korzystania z powłoki, czyniąc ją potężnym środowiskiem do obsługi nowoczesnych formatów danych.