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.