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.