Cómo usar jq para manipular JSON desde la línea de comandos en Linux, MacOS y Windows

18 mag 2023 2 min di lettura
Cómo usar jq para manipular JSON desde la línea de comandos en Linux, MacOS y Windows
Indice dei contenuti

Introducción

jq es una herramienta de línea de comandos que le permite manipular, filtrar y formatear datos JSON. Es especialmente útil cuando se trabaja con API que devuelven datos en formato JSON. En este tutorial, aprenderemos cómo instalar y usar jq en Linux, MacOS y Windows.

Instalando jq

linux

En Linux, jq se puede instalar a través del administrador de paquetes de su sistema. Por ejemplo, en Ubuntu puedes usar:

sudo apt install jq

Mac OS

En MacOS, jq se puede instalar a través de Homebrew. Si aún no tiene Homebrew, puede instalarlo con:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Después de instalar Homebrew, puede instalar jq con brew install jq.

ventanas

En Windows, jq se puede instalar a través de Chocolatey, un administrador de paquetes para Windows. Si aún no tiene Chocolatey, puede instalarlo siguiendo las instrucciones proporcionadas en el sitio web oficial de Chocolatey. Después de instalar Chocolatey, puede instalar jq con:

choco install jq

Uso básico de jq

Después de instalar jq, puede comenzar a usarlo para manipular datos JSON. jq toma una entrada JSON y un filtro jq, y produce una salida JSON.

Aquí hay un ejemplo del uso de jq:

echo '{"nome": "Mario", "cognome": "Rossi", "eta": 30}' | jq '.'

Este comando imprime el JSON en un formato legible. el . en jq denota la entrada JSON completa.

Aquí hay otro ejemplo:

echo '{"nome": "Mario", "cognome": "Rossi", "eta": 30}' | jq '.nome'

Este comando imprime el valor del campo "nombre" del JSON.

Filtros más complejos con jq

jq admite filtros mucho más complejos. Aquí hay unos ejemplos:

  • .[]: este filtro selecciona todos los elementos de una matriz.
  • .campo[]: este filtro selecciona todos los elementos del campo "campo", asumiendo que es una matriz.
  • map(.campo): este filtro aplica el filtro .campo a todos los elementos de una matriz.
  • select(.campo == "valore"): Este filtro selecciona todos los objetos que tienen "value" como el valor del campo "field".

Aquí hay un ejemplo del uso de estos filtros:

echo '[{"nome": "Mario", "cognome": "Rossi", "eta": 30}, {"nome": "Luigi", "cognome": "Verdi", "eta": 35}]' | jq 'map(.nome)'

Este comando imprime una matriz con los nombres de todas las personas en la matriz de entrada.

Conclusión

jq es una herramienta muy poderosa para manipular datos JSON desde la línea de comandos. Le permite filtrar, transformar y formatear datos JSON de una manera simple e intuitiva. Esperamos que este tutorial lo haya ayudado a comenzar con jq. ¡Buen trabajo!

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.