introducción a JQ con ejemplos

Hoy rescato un borrador que ha estado desde siempre en el blog. Básicamente quería empezar un post de introducción a jq que tuviera ejemplos prácticos, pues todo lo que he visto por ahí no me ha parecido muy práctico si estás empezando.

Lo primero, decir que jq pone a nuestra disposición una herramienta online para trastear con jq en jqplay.org, que nos puede venir bien.

Empezamos con el siguiente ejemplo:

Podemos hacer referencia a los jsons del array, usando ‘.[]’, lo cual nos devolverá directamente el contenido del array

Y a sus elementos a partir de ahí. Por ejemplo, accederemos así a los valores de los diferentes elementos del array:

Podemos usar la coma «,» para indicar varios campos a devolver

Pipes y selecciones

Puedo usar pipes para ir encadenando la salida de un filtro a la entrada de otro. Los que estáis familiarizados con Linux sabéis de lo que hablo.

Con «select», además, podemos seleccionar únicamente los objetos que hagan match con una determinada query

Si un select hace match con más de un objeto, devolverá todos los objetos que hagan match.

Null

Podemos encontrarnos con por ejemplo, querer buscar por determinadas reglas, pero que uno de nuestros objetos no tenga ninguna regla. Si por ejemplo, al json original le añadimos el objeto «C» sin reglas.

Cuando queramos iterar sobre las reglas, «C» nos devolverá «null» y según la query que estemos haciendo ésto nos devolverá a su vez un error

Podemos jugar con las pipes para primero, descartar los objetos sin reglas, y posteriormente ya realizar la query:

Y hasta aquí la introducción con ejemplos a jq.

A partir de aquí, documentación oficial:

https://stedolan.github.io/jq/manual/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *