Descripción general
jq recibe datos JSON como entrada y los procesa y emite de varias maneras. Puede realizar desde extracciones de valores simples hasta manipulaciones complejas de arrays/objetos, siendo una herramienta esencial para manejar JSON en entornos de scripting.
Características clave
- Parseo y formateo de datos JSON
- Extracción y filtrado de campos específicos
- Manipulación de arrays y objetos
- Transformación y reestructuración de datos
Opciones principales
Formato de entrada/salida
Filtrado/Transformación
Comando generado:
Combina los comandos.
Descripción:
`jq` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Formateo JSON básico
echo '{"name": "Alice", "age": 30}' | jq .
Imprime el JSON de entrada en un formato fácil de leer.
Extracción de campo específico
echo '{"name": "Bob", "age": 25}' | jq '.name'
Extrae el valor del campo 'name' de un objeto JSON.
Extracción de campo de elementos de array
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'
Extrae el campo 'name' de cada objeto dentro de un array JSON.
Salida de cadena Raw
echo '{"city": "Seoul"}' | jq -r '.city'
Imprime el valor de cadena extraído sin comillas.
Seleccionar varios campos y crear nuevo objeto
echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'
Crea un nuevo objeto que solo incluye los campos 'name' y 'age' del objeto original.
Filtrado condicional
echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'
Filtra solo los usuarios cuya edad es 30 o más.
Transformación de elementos de array (map)
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'
Convierte el nombre de cada usuario a mayúsculas.