Bash:
Työskentely JSON:n kanssa

Miten:

Bash itsessään ei sisällä sisäänrakennettuja JSON-jäsennysominaisuuksia, mutta jq on voimakas komentorivin JSON-prosessori, joka täyttää tämän aukon. Näin voit käyttää sitä:

JSON-tiedoston lukeminen:

Esimerkki data.json:

{
  "name": "Jane Doe",
  "email": "[email protected]",
  "location": {
    "city": "New York",
    "country": "USA"
  }
}

Luetaan ja poimitaan nimi JSON-tiedostosta:

jq '.name' data.json

Tuloste:

"Jane Doe"

JSON-tietojen muokkaaminen:

Kaupungin päivittämiseksi “Los Angelesiksi” ja kirjoitetaan takaisin tiedostoon:

jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json

JSONin jäsentäminen muuttujasta:

Jos sinulla on JSON Bash-muuttujassa, jq voi silti käsitellä sitä:

json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'

Tuloste:

"John Doe"

Taulukoiden kanssa työskentely:

Olettaen, että sinulla on taulukko kohteita JSONissa:

{
  "items": ["apple", "banana", "cherry"]
}

Toisen kohteen (indeksointi alkaa 0:sta) poimimiseksi:

jq '.items[1]' data.json

Tuloste:

"banana"

Monimutkaisempien operaatioiden ja suodattimien osalta jq:lla on kattava manuaali ja tutoriaalit saatavilla verkossa, tehden siitä monipuolisen työkalun kaikkiin Bash/JSON-tarpeisiisi.