Bash:
Travailler avec JSON

Comment faire :

Bash lui-même manque de capacités intégrées d’analyse JSON, mais jq est un processeur JSON en ligne de commande puissant qui comble cette lacune. Voici comment l’utiliser :

Lire un fichier JSON :

Exemple de data.json :

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

Pour lire et extraire le nom du fichier JSON :

jq '.name' data.json

Sortie :

"Jane Doe"

Modifier les données JSON :

Pour mettre à jour la ville en “Los Angeles” et écrire à nouveau dans le fichier :

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

Analyser JSON à partir d’une variable :

Si vous avez du JSON dans une variable Bash, jq peut également le traiter :

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

Sortie :

"John Doe"

Travailler avec des tableaux :

Étant donné un tableau d’éléments en JSON :

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

Pour extraire le deuxième élément (l’indexation commence à 0) :

jq '.items[1]' data.json

Sortie :

"banana"

Pour des opérations plus complexes et des filtrages, jq dispose d’un manuel complet et de tutoriels disponibles en ligne, en faisant un outil polyvalent pour tous vos besoins en Bash/JSON.