Exemples pratiques de traitement JSON avec JQ dans Linux

Exemples pratiques de traitement JSON avec JQ dans Linux

JQ est un processeur JSON de ligne de commande puissant et flexible pour Linux, conçu pour analyser, filtrer et transformer les données JSON. Sa nature légère et sa vitesse en font un outil essentiel pour les développeurs travaillant avec des fichiers JSON. Dans cet article, nous explorerons comment utiliser l'outil de ligne de commande JQ pour imprimer de jolis fichiers JSON dans Linux, améliorer la lisibilité et améliorer le processus de débogage.

1. Installation de JQ sur votre système

Avant de pouvoir utiliser JQ pour imprimer de jolis fichiers JSON, vous devez l'installer sur votre distribution Linux. Le processus d'installation varie en fonction du gestionnaire de packages utilisé par votre distribution. Voici quelques exemples:

  • Pour les systèmes basés à Debian (E.g., Ubuntu), utilisez le gestionnaire de packages APT:
    Mise à jour Sudo Apt  sudo apt installer jq  
  • Pour les systèmes basés sur RHEL (E.g., Centos, Fedora), utilisez le gestionnaire de packages Yum:
    sudo yum install jq  
  • Pour Arch Linux, utilisez le Pacman Package Manager:
    Sudo Pacman -s JQ  

2. Jolie impression de fichiers JSON avec JQ

Une fois que JQ est installé sur votre système, vous pouvez l'utiliser pour imprimer de jolis fichiers JSON en suivant ces étapes:

  • Ouvrez un terminal et accédez au répertoire contenant le fichier JSON que vous souhaitez jolie imprimer.
  • Exécutez la commande suivante, en remplacement de l'entrée.JSON avec le nom de votre fichier JSON:
    JQ '.' saisir.json  
  • JQ imprimera joliment le fichier JSON au terminal. Si vous souhaitez enregistrer la sortie dans un nouveau fichier, utilisez la commande suivante:
    JQ '.' saisir.JSON> Sortie.json  

3. Filtrage et transformer les données JSON avec JQ

En plus d'une jolie impression de fichiers JSON, JQ offre une large gamme d'options pour filtrer et transformer les données JSON. Voici quelques exemples:

  • Extraire une valeur spécifique d'un objet JSON:
    JQ '.Entrée de clé.json  
  • Filtrez un tableau d'objets en fonction d'une condition spécifique:
    JQ '.[] | sélectionner(.Âge> 30) 'Entrée.json  
  • Carte et transforme un tableau d'objets:
    JQ '.[] | nom: .nom Age: .Âge 'entrée.json  
  • Chaîne plusieurs filtres et transformations ensemble:
    JQ '.[] | sélectionner(.Âge> 30) | nom: .nom Age: .Âge 'entrée.json  

4. Intégrer JQ dans les scripts shell

JQ peut être facilement intégré dans les scripts shell pour automatiser les tâches de traitement JSON. Voici un exemple de script de shell simple qui imprime un fichier JSON et filtre les données basées sur l'entrée utilisateur:

#!/ bin / bash si [-z "1 $"]; Puis écho "Utilisation: 0 $" Sortie 1 Fi Echo "Entrez l'âge minimum:" Read min_age jq ".[] | sélectionner(.Âge> = $ min_age) "" 1 $ "
1234567891011#!/ bin / bash si [-z "1 $"]; Puis écho "Utilisation: 0 $" Exit 1fi Echo "Entrez l'âge minimum:" Read min_age jq ".[] | sélectionner(.Âge> = $ min_age) "" 1 $ "

Conclusion

JQ est un outil inestimable pour les développeurs qui travaillent fréquemment avec les données JSON. Sa capacité à imprimer de jolis fichiers JSON, ainsi que ses vastes capacités de filtrage et de transformation, en font un utilitaire incontournable dans la boîte à outils de tout développeur Linux. En maîtrisant l'outil de ligne de commande JQ, vous pouvez rationaliser vos tâches de traitement JSON et améliorer l'efficacité globale de votre flux de travail de développement.