Bash:
Trabajando con JSON

Cómo hacerlo:

Bash por sí solo carece de capacidades integradas de análisis de JSON, pero jq es un poderoso procesador JSON de línea de comandos que llena este vacío. Así es como se usa:

Leyendo un archivo JSON:

Ejemplo de data.json:

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

Para leer y extraer el nombre del archivo JSON:

jq '.name' data.json

Salida:

"Jane Doe"

Modificando datos JSON:

Para actualizar la ciudad a “Los Angeles” y volver a escribir en el archivo:

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

Analizando JSON desde una variable:

Si tienes JSON en una variable Bash, jq aún puede procesarlo:

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

Salida:

"John Doe"

Trabajando con arreglos:

Dado un arreglo de elementos en JSON:

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

Para extraer el segundo elemento (la indexación comienza en 0):

jq '.items[1]' data.json

Salida:

"banana"

Para operaciones más complejas y filtros, jq tiene un manual comprensivo y tutoriales disponibles en línea, haciéndolo una herramienta versátil para todas tus necesidades de Bash/JSON.