Top 10 des commandes JQ que chaque développeur Linux devrait savoir
- 2220
- 620
- Zoe Dupuis
JQ est un processeur JSON en ligne de commande polyvalente pour Linux qui permet aux développeurs d'analyser, filtrer et transformer les données JSON rapidement et efficacement. Ses fonctionnalités puissantes en font un outil indispensable pour tous ceux qui travaillent avec des fichiers JSON sur les systèmes Linux. Dans cet article, nous couvrirons les 10 principales commandes JQ essentielles que chaque développeur Linux devrait savoir pour rationaliser ses tâches de traitement JSON.
Exemple de contenu de fichier JSON
Pour ce tutoriel, vous pouvez utiliser l'exemple suivant JSON DATA dans un fichier nommé saisir.json. Ces données JSON représentent un éventail de personnes avec leurs noms, âges, pays et adresses respectifs:
["Name": "Alice", "Age": 35, "Country": "USA", "Adresse": "Street": "123 Main St", "City": "New York", "État ":" NY "," Zip ":" 10001 ", " Name ":" Bob "," Age ": 28," Country ":" Canada "," Adresse ": " Street ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Adresse": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Name" : "David", "Age": 23, "Country": "Canada", "Adresse": "Street": "321 Pine St", "City": "Vancouver", "Province": "BC", "postal_code": "v6b 2p4"]1234567891011121314151617181920212223242526272829303132334353637383940414243444546 | ["Name": "Alice", "Age": 35, "Country": "USA", "Adresse": "Street": "123 Main St", "City": "New York", "État ":" NY "," Zip ":" 10001 ", " Name ":" Bob "," Age ": 28," Country ":" Canada "," Adresse ": " Street ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Adresse": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Name" : "David", "Age": 23, "Country": "Canada", "Adresse": "Street": "321 Pine St", "City": "Vancouver", "Province": "BC", "postal_code": "v6b 2p4"] |
Enregistrer ce contenu JSON dans un fichier nommé "saisir.JSON " et utilisez-le comme entrée pour les différentes commandes JQ dans le tutoriel. Cet exemple de données vous aidera à mieux comprendre et pratiquer les différentes commandes et techniques JQ décrites dans l'article.
10 Exemples de commande JQ pour les développeurs Linux
- Jolies données JSON à imprimer
Pour imprimer de jolies données JSON, passez simplement le fichier JSON à la commande jq suivi d'une période (
.
):JQ '.' saisir.json
- Récupérer une clé JSON spécifique
Pour extraire la valeur d'une clé spécifique à partir d'un objet JSON, utilisez la syntaxe suivante:
JQ '.Entrée de clé.json1 JQ '.Entrée de clé.json Par exemple, pour extraire la valeur du "nom" clé, utilisation:
JQ '.Nom 'Entrée.json
- Accéder aux valeurs JSON imbriquées
Pour accéder aux valeurs JSON imbriquées, utilisez le point (
JQ '.clé 1.clé2.Entrée Key3 '.json.
) Notation:1 JQ '.clé 1.clé2.Entrée Key3 '.json Par exemple, pour extraire la valeur du "ville" clé imbriquée sous "adresse", utiliser:
JQ '.adresse.Antrée en ville.json
- Itérer sur les tableaux JSON
Utilisez les crochets (
[]
) pour itérer sur les tableaux JSON:JQ '.[]' saisir.json
Pour extraire des clés spécifiques de chaque objet dans le tableau, utilisez le tuyau (
|
) Opérateur:JQ '.[] | .Entrée de clé.json
- Filtre les données JSON
Pour filtrer les données JSON en fonction de conditions spécifiques, utilisez la fonction sélectionnée:
JQ '.[] | sélectionner(.key == "valeur") 'entrée.json1 JQ '.[] | sélectionner(.key == "valeur") 'entrée.json Par exemple, pour filtrer les objets dans un tableau avec un "âge" plus grand que 30, utiliser:
JQ '.[] | sélectionner(.Âge> 30) 'Entrée.json
- Carte et transformer les données JSON
Pour cartographier et transformer les données JSON, utilisez les accolades bouclées (
JQ '.[] | key1: .Key1, Key2: .Key2 'entrée.json):
1 JQ '.[] | key1: .Key1, Key2: .Key2 'entrée.json Par exemple, pour créer un nouvel objet JSON avec seulement le "nom" et "âge" Clés, utilisation:
JQ '.[] | nom: .nom Age: .Âge 'entrée.json
- Combiner plusieurs fichiers JSON
Pour fusionner deux fichiers JSON, utilisez le
*
opérateur:JQ -S '.[0] * .[1] 'Fichier1.json file2.json
- Effectuer des opérations arithmétiques
JQ peut effectuer des opérations arithmétiques sur des valeurs JSON numériques:
JQ '.numéro 1 + .entrée numéro2 '.json1 JQ '.numéro 1 + .entrée numéro2 '.json Par exemple, pour calculer la somme de deux nombres dans un fichier JSON, utilisez:
JQ '.numéro 1 + .entrée numéro2 '.json
- Trier les données JSON
Pour trier les données JSON en fonction d'une clé spécifique, utilisez le 'Trier par' fonction:
JQ '.[] | Trier par(.clé) 'entrée.json1 JQ '.[] | Trier par(.clé) 'entrée.json Par exemple, pour trier un tableau d'objets par le "âge" clé, utilisation:
JQ '.[] | Trier par(.Âge) 'Entrée.json
- Groupes de données JSON
Pour regrouper les données JSON en fonction d'une clé spécifique, utilisez le 'par groupe' fonction:
JQ 'Group_By (.clé) 'entrée.json1 JQ 'Group_By (.clé) 'entrée.json Par exemple, pour regrouper un tableau d'objets par le "pays" clé, utilisation:
JQ 'Group_By (.pays) 'entrée.json
Conclusion
Ces 10 meilleures commandes JQ essentielles offrent une base solide pour les développeurs Linux travaillant avec des fichiers JSON. La maîtrise de ces commandes vous aidera à analyser, filtrer et manipuler plus efficacement les données JSON, améliorant finalement votre flux de travail de développement.
Au fur et à mesure que vous gagnez de l'expérience avec JQ, vous découvrirez des fonctionnalités et des techniques encore plus avancées qui répondent à vos besoins spécifiques. L'outil de ligne de commande JQ est un atout inestimable pour tout développeur travaillant avec les données JSON sur les systèmes Linux, et la connaissance de ces éléments essentiels servira de point de départ fort dans votre parcours pour devenir un utilisateur de Power JQ.
Pour étendre davantage vos connaissances JQ, envisagez de plonger dans la documentation officielle de JQ (https: // Stedolan.github.IO / JQ / Manual /) et exploration des ressources communautaires, telles que des tutoriels, des articles de blog et des forums. Alors que vous continuez à aiguiser vos compétences JQ, vous débloquerez le plein potentiel de cet outil de traitement JSON puissant, ce qui en fait une partie intégrante de votre boîte à outils de développement Linux.
- « Comprendre 2> & 1 dans Bash A débutant Guide
- Comprendre la différence entre «Git Pull» et «Git Fetch» »