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.