accueil > Traitement et recherche de texte > jq

jq: Traitement des données JSON

jq est un outil puissant pour traiter et transformer efficacement les données JSON en ligne de commande. Il est utilisé pour filtrer, découper, mapper et transformer les données JSON, permettant d'extraire facilement les informations souhaitées même à partir de structures JSON complexes. Il est souvent utilisé avec d'autres commandes via le pipe (|).

Aperçu

jq prend les données JSON en entrée, les traite de diverses manières et les affiche. Il peut effectuer des extractions de valeurs simples ainsi que des manipulations complexes de tableaux/objets, ce qui en fait un outil essentiel pour manipuler le JSON dans des environnements de script.

Fonctionnalités principales

  • Analyse et formatage des données JSON
  • Extraction et filtrage de champs spécifiques
  • Manipulation de tableaux et d'objets
  • Transformation et restructuration des données

Options principales

Format d'entrée/sortie

Filtrage/Transformation

Commande générée :

Essayez de combiner les commandes.

Description:

`jq` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Formatage JSON de base

echo '{"name": "Alice", "age": 30}' | jq .

Affiche le JSON d'entrée dans un format lisible.

Extraction de champ spécifique

echo '{"name": "Bob", "age": 25}' | jq '.name'

Extrait la valeur du champ 'name' d'un objet JSON.

Extraction de champs à partir d'éléments de tableau

echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'

Extrait le champ 'name' de chaque objet dans un tableau JSON.

Sortie de chaîne brute

echo '{"city": "Seoul"}' | jq -r '.city'

Affiche les valeurs de chaîne extraites sans guillemets.

Sélection de plusieurs champs et création d'un nouvel objet

echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'

Crée un nouvel objet contenant uniquement les champs 'name' et 'age' de l'objet existant.

Filtrage conditionnel

echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'

Filtre uniquement les utilisateurs dont l'âge est supérieur ou égal à 30 ans.

Transformation des éléments de tableau (map)

echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'

Convertit le nom de chaque utilisateur en majuscules.


Commandes de la même catégorie