Ejemplos prácticos de procesamiento JSON con JQ en Linux

Ejemplos prácticos de procesamiento JSON con JQ en Linux

JQ es un procesador JSON de línea de comandos potente y flexible para Linux, diseñado para analizar, filtrar y transformar datos JSON. Su naturaleza y velocidad livianos lo convierten en una herramienta esencial para los desarrolladores que trabajan con archivos JSON. En este artículo, exploraremos cómo usar la herramienta de línea de comandos JQ para imprimir archivos JSON bonitos en Linux, mejorar la legibilidad y mejorar el proceso de depuración.

1. Instalación de JQ en su sistema

Antes de que pueda usar JQ para imprimir archivos JSON bonitos, debe instalarlo en su distribución de Linux. El proceso de instalación varía según el administrador de paquetes utilizado por su distribución. Aquí hay unos ejemplos:

  • Para sistemas basados ​​en Debian (E.gramo., Ubuntu), use el Administrador de paquetes APT:
    Actualización de sudo apto  sudo apt install jq  
  • Para sistemas basados ​​en Rhel (E.gramo., Centos, Fedora), use el Administrador de paquetes YUM:
    sudo yum install jq  
  • Para Arch Linux, use el Pacman Package Manager:
    sudo Pacman -S JQ  

2. Pretty imprimir archivos JSON con JQ

Una vez que JQ está instalado en su sistema, puede usarlo para imprimir archivos JSON bonitos siguiendo estos pasos:

  • Abra una terminal y navegue al directorio que contiene el archivo JSON que desea imprimir bastante.
  • Ejecutar el siguiente comando, reemplazar la entrada.JSON con el nombre de su archivo JSON:
    jq '.' aporte.json  
  • JQ imprimirá bastante el archivo JSON en la terminal. Si desea guardar la salida en un nuevo archivo, use el siguiente comando:
    jq '.' aporte.JSON> Salida.json  

3. Filtrar y transformar datos JSON con JQ

Además de imprimir archivos JSON, JQ ofrece una amplia gama de opciones para filtrar y transformar datos JSON. Aquí hay unos ejemplos:

  • Extraiga un valor específico de un objeto JSON:
    jq '.entrada de llave.json  
  • Filtrar una matriz de objetos basados ​​en una condición específica:
    jq '.[] | seleccionar(.Edad> 30) 'Entrada.json  
  • Mapear y transformar una matriz de objetos:
    jq '.[] | nombre: .nombre Edad: .entrada 'Entrada.json  
  • Cadena múltiples filtros y transformaciones juntos:
    jq '.[] | seleccionar(.Edad> 30) | nombre: .nombre Edad: .entrada 'Entrada.json  

4. Integrar JQ en scripts de shell

JQ se puede integrar fácilmente en scripts de shell para automatizar las tareas de procesamiento de JSON. Aquí hay un ejemplo de un script de shell simple que imprime un archivo json y filtra datos basados ​​en la entrada del usuario:

#!/bin/bash if [-z "$ 1"]; luego echo "Uso: $ 0" Salir 1 Fi Echo "Ingrese la edad mínima:" Leer min_age JQ ".[] | seleccionar(.edad> = $ min_age) "" $ 1 "
1234567891011#!/bin/bash if [-z "$ 1"]; luego echo "Uso: $ 0" Salir 1fi Echo "Ingrese la edad mínima:" Leer min_age JQ ".[] | seleccionar(.edad> = $ min_age) "" $ 1 "

Conclusión

JQ es una herramienta invaluable para los desarrolladores que con frecuencia trabajan con datos JSON. Su capacidad para imprimir archivos JSON, junto con sus extensas capacidades de filtrado y transformación, lo convierte en una utilidad imprescindible en cualquier kit de herramientas de desarrollador de Linux. Al dominar la herramienta de línea de comandos JQ, puede optimizar sus tareas de procesamiento JSON y mejorar la eficiencia general de su flujo de trabajo de desarrollo.