Bash:
Praca z JSON
Jak to zrobić:
Bash sam w sobie nie posiada wbudowanych możliwości parsowania JSON, ale jq
jest potężnym narzędziem do przetwarzania JSON z linii poleceń, które wypełnia tę lukę. Oto jak go używać:
Czytanie pliku JSON:
Przykładowy data.json
:
{
"name": "Jane Doe",
"email": "[email protected]",
"location": {
"city": "New York",
"country": "USA"
}
}
Aby odczytać i wydobyć nazwisko z pliku JSON:
jq '.name' data.json
Wyjście:
"Jane Doe"
Modyfikowanie danych JSON:
Aby zaktualizować miasto na “Los Angeles” i zapisać z powrotem do pliku:
jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json
Parsowanie JSON z zmiennej:
Jeśli masz JSON w zmiennej Bash, jq
może go także przetworzyć:
json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'
Wyjście:
"John Doe"
Praca z tablicami:
Mając tablicę elementów w JSON:
{
"items": ["apple", "banana", "cherry"]
}
Aby wydobyć drugi element (indeksowanie zaczyna się od 0):
jq '.items[1]' data.json
Wyjście:
"banana"
Dla bardziej zaawansowanych operacji i filtrowania, jq
posiada obszerną instrukcję obsługi i tutoriale dostępne online, co czyni go wszechstronnym narzędziem dla wszystkich twoich potrzeb związanych z Bash/JSON.