Comandos de los 10 mejores JQ que todo desarrollador de Linux debe saber

Comandos de los 10 mejores JQ que todo desarrollador de Linux debe saber

JQ es un procesador JSON de línea de comandos versátil para Linux que permite a los desarrolladores analizar, filtrar y transformar los datos JSON de manera rápida y eficiente. Sus potentes características lo convierten en una herramienta indispensable para cualquier persona que trabaje con archivos JSON en sistemas Linux. En este artículo, cubriremos los 10 comandos JQ esenciales principales que todo desarrollador de Linux debe saber para optimizar sus tareas de procesamiento JSON.

Ejemplo de contenido de archivo JSON

Para este tutorial, puede usar el siguiente ejemplo de datos JSON en un archivo llamado aporte.json. Estos datos JSON representan una variedad de personas con sus respectivos nombres, edades, países y direcciones:

["Nombre": "Alice", "Age": 35, "Country": "USA", "Dirección": "Street": "123 Main St", "City": "Nueva York", "Estado ":" Ny "," zip ":" 10001 ", " nombre ":" bob "," edad ": 28," país ":" Canadá "," dirección ": " calle ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Postal_code ":" M5V 1A1 ", " Nombre ":" Charlie "," Age ": 42," Country ": "USA", "Dirección": "calle": "789 Oak st", "Ciudad": "San Francisco", "Estado": "Ca", "Zip": "94102", "Nombre" : "David", "Age": 23, "Country": "Canadá", "Dirección": "calle": "321 Pine st", "Ciudad": "Vancouver", "Provincia": "BC", "Postal_code": "v6b 2p4"]
1234567891011121314151617181920212223242526272829303132333435363738394041424344445466["Nombre": "Alice", "Age": 35, "Country": "USA", "Dirección": "Street": "123 Main St", "City": "Nueva York", "Estado ":" Ny "," zip ":" 10001 ", " nombre ":" bob "," edad ": 28," país ":" Canadá "," dirección ": " calle ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Postal_code ":" M5V 1A1 ", " Nombre ":" Charlie "," Age ": 42," Country ": "USA", "Dirección": "calle": "789 Oak st", "Ciudad": "San Francisco", "Estado": "Ca", "Zip": "94102", "Nombre" : "David", "Age": 23, "Country": "Canadá", "Dirección": "calle": "321 Pine st", "Ciudad": "Vancouver", "Provincia": "BC", "Postal_code": "v6b 2p4"]

Guardar este contenido JSON en un archivo llamado "aporte.json " y úsela como la entrada para los diversos comandos JQ en el tutorial. Estos datos de muestra lo ayudarán a comprender y practicar mejor los diferentes comandos y técnicas JQ descritas en el artículo.

10 ejemplos de comando JQ para desarrolladores de Linux

  1. Pretty imprimir datos JSON
  2. Para imprimir bonitos datos JSON, simplemente pase el archivo JSON al comando JQ seguido de un período (.)

    jq '.' aporte.json  

  3. Recuperar una clave JSON específica
  4. Para extraer el valor de una clave específica de un objeto JSON, use la siguiente sintaxis:

    jq '.entrada de llave.json
    1jq '.entrada de llave.json

    Por ejemplo, extraer el valor del "nombre" clave, use:

    jq '.entrada de nombre '.json  

  5. Acceder a los valores de JSON anidados
  6. Para acceder a los valores de JSON anidados, use el punto (.) notación:

    jq '.llave1.llave2.entrada Key3 '.json
    1jq '.llave1.llave2.entrada Key3 '.json

    Por ejemplo, extraer el valor del "ciudad" llave anidada bajo "DIRECCIÓN", usar:

    jq '.DIRECCIÓN.aportación de la ciudad.json  

  7. Iterar sobre matrices JSON
  8. Usa los soportes cuadrados ([]) para iterar sobre las matrices JSON:

    jq '.[]' aporte.json  

    Para extraer claves específicas de cada objeto dentro de la matriz, use la tubería (|) Operador:

    jq '.[] | .entrada de llave.json  

  9. Filtrar datos JSON
  10. Para filtrar datos JSON basados ​​en condiciones específicas, use la función Seleccionar:

    jq '.[] | seleccionar(.clave == "Valor") 'Entrada.json
    1jq '.[] | seleccionar(.clave == "Valor") 'Entrada.json

    Por ejemplo, para filtrar objetos en una matriz con un "edad" mas grande que 30, usar:

    jq '.[] | seleccionar(.Edad> 30) 'Entrada.json  

  11. Mapear y transformar datos JSON
  12. Para mapear y transformar los datos JSON, use los aparatos ortopédicos ()

    jq '.[] | Key1: .Key1, Key2: .entrada 2 'Entrada.json
    1jq '.[] | Key1: .Key1, Key2: .entrada 2 'Entrada.json

    Por ejemplo, para crear un nuevo objeto JSON con solo el "nombre" y "edad" llaves, use:

    jq '.[] | nombre: .nombre Edad: .entrada 'Entrada.json  

  13. Combinar múltiples archivos JSON
  14. Para fusionar dos archivos JSON, use el * operador:

    JQ -S '.[0] * .[1] 'Archivo1.archivo json2.json  

  15. Realizar operaciones aritméticas
  16. JQ puede realizar operaciones aritméticas en valores numéricos de JSON:

    jq '.numero 1 + .entrada número2 '.json
    1jq '.numero 1 + .entrada número2 '.json

    Por ejemplo, para calcular la suma de dos números en un archivo JSON, use:

    jq '.numero 1 + .entrada número2 '.json  

  17. Ordenar datos de JSON
  18. Para ordenar los datos JSON basados ​​en una clave específica, use el 'Ordenar por' función:

    jq '.[] | Ordenar por(.clave) 'Entrada.json
    1jq '.[] | Ordenar por(.clave) 'Entrada.json

    Por ejemplo, para ordenar una matriz de objetos por el "edad" clave, use:

    jq '.[] | Ordenar por(.edad) 'Entrada.json  

  19. Datos del Grupo JSON
  20. Para el grupo de datos JSON basados ​​en una clave específica, use el 'agrupar por' función:

    JQ 'Group_by (.clave) 'Entrada.json
    1JQ 'Group_by (.clave) 'Entrada.json

    Por ejemplo, para agrupar una matriz de objetos por el "país" clave, use:

    JQ 'Group_by (.país) 'aportes.json  

Conclusión

Estos 10 comandos JQ esenciales principales ofrecen una base sólida para los desarrolladores de Linux que trabajan con archivos JSON. Dominar estos comandos lo ayudará a analizar, filtrar y manipular los datos JSON de manera más eficiente, mejorando en última instancia su flujo de trabajo de desarrollo.

A medida que obtenga experiencia con JQ, descubrirá características y técnicas aún más avanzadas que satisfacen sus necesidades específicas. La herramienta de línea de comandos JQ es un activo invaluable para cualquier desarrollador que trabaje con datos JSON en sistemas Linux, y saber estos elementos esenciales servirá como un punto de partida fuerte en su viaje para convertirse en un usuario de JQ Power.

Para expandir aún más su conocimiento de JQ, considere sumergirse en la documentación oficial de JQ (https: // stedolan.github.io/jq/manual/) y explorar recursos comunitarios, como tutoriales, publicaciones de blog y foros. A medida que continúe agudizando sus habilidades JQ, desbloqueará todo el potencial de esta poderosa herramienta de procesamiento JSON, por lo que es una parte integral de su Kit de herramientas de desarrollo de Linux.