Bash:
Lavorare con JSON

Come fare:

Bash di per sé non possiede capacità di analisi JSON integrate, ma jq è un potente processore JSON da linea di comando che colma questa lacuna. Ecco come utilizzarlo:

Leggere un file JSON:

Esempio data.json:

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

Per leggere ed estrarre il nome dal file JSON:

jq '.name' data.json

Output:

"Jane Doe"

Modificare dati JSON:

Per aggiornare la città a “Los Angeles” e scrivere di nuovo sul file:

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

Analizzare JSON da una variabile:

Se hai del JSON in una variabile Bash, jq può comunque elaborarlo:

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

Output:

"John Doe"

Lavorare con array:

Dato un array di elementi in JSON:

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

Per estrarre il secondo elemento (l’indice parte da 0):

jq '.items[1]' data.json

Output:

"banana"

Per operazioni più complesse e filtraggi, jq ha un manuale completo e tutorial disponibili online, rendendolo uno strumento versatile per tutte le tue necessità Bash/JSON.