🔍

Outil Requête JSONPath

Interroger et extraire données JSON utilisant expressions JSONPath

Entrée JSON

JSONPath

Exemples: $.store.book[0].title, $.store.book[*], $..author

Qu'est-ce que JSONPath

JSONPath est un langage de requête pour JSON, analogue à XPath pour XML. Il fournit une syntaxe standardisée pour naviguer et extraire des données de structures JSON complexes en utilisant des expressions de chemin. JSONPath utilise $ pour représenter l'objet racine, . pour l'accès aux enfants, [] pour l'indexation de tableaux, * pour les caractères génériques, et .. pour la descente récursive. Il supporte les filtres [?(@.property > Valeur)], le découpage de tableaux [Démarrer:end:Étape], et les sélecteurs multiples. JSONPath est largement utilisé dans les tests d'API, la transformation de données, l'interrogation de configuration, et les tâches de manipulation JSON. Il simplifie l'extraction de valeurs spécifiques à partir de JSON profondément imbriqué sans écrire de code JavaScript complexe.

Caractéristiques

🔍

Syntaxe Requête Avancée

Supporter syntaxe JSONPath complète incluant caractères génériques (*), descente récursive (..), découpage tableaux ([Démarrer:end]), filtres ([?(@.price < 10)]), sélecteurs chemins multiples
📋

Modèles Expression Chemin

Modèles pré-construits pour requêtes courantes: accès racine ($), enfant direct ($.key), éléments tableau ($.arr[*]), éléments filtrés ($.arr[?(@.id)]), recherche récursive ($..key)

Aperçu Temps Réel

Exécuter requêtes instantanément avec entrée et sortie JSON Couleurées syntaxe, afficher chemins correspondants, nombre résultats, surligner nœuds correspondants dans JSON source
💾

Export Résultats

Exporter résultats requête JSON (tableau ou valeur unique), CSV pour données tabulaires, texte Formaté avec options copie et téléchargement un clic

📋Guide d'utilisation

1️⃣
Entrer Données JSON
Coller ou télécharger données JSON que vous souhaitez interroger
2️⃣
Écrire JSONPath
Entrer expression JSONPath ou utiliser modèles pour motifs courants
3️⃣
Exécuter Requête
Exécuter requête pour voir résultats correspondants avec coloration syntaxique
4️⃣
Exporter Résultats
Copier ou télécharger données extraites dans Format préféré

📚Introduction technique

📝Syntaxe JSONPath

Les expressions JSONPath commencent par $ (objet racine) et utilisent notation Point ($.property) ou notation crochets ($['property']) pour accès. Nœuds enfants utilisent séparateur . ($.store.book), tableaux utilisent [index] ou [*] pour tous éléments. Découpage tableaux [Démarrer:end:Étape] extrait plages comme [0:3] (3 premiers éléments) ou [-1] (dernier élément). Opérateur descente récursive .. recherche tous niveaux: $..author trouve toutes propriétés author quelle que soit profondeur imbrication. Opérateur union [,] sélectionne plusieurs éléments: $[0,2,5] obtient indices tableaux spécifiques.

🔍Expressions Filtre

Filtres utilisent syntaxe [?(@.condition)] pour sélectionner éléments correspondant critères. @ représente nœud actuel dans itération. Opérateurs comparaison: ==, !=, <, <=, >, >=. Opérateurs logiques: && (et), || (ou), ! (non). Exemples: [?(@.price < 10)] sélectionne éléments avec prix sous 10; [?(@.Catégorie == 'fiction' && @.price < 20)] combine conditions. Correspondance expression régulière: [?(@.Nom =~ /pattern/)] filtre par regex. Filtres peuvent référencer racine avec $ pour comparaisons à travers hiérarchie: [?(@.price < $.maxPrice)].

🔧Variantes Implémentation

JSONPath a plusieurs implémentations avec légères variations syntaxe: Original Goessner (JavaScript), Jayway (Java), jsonpath-ng (Python). Différences incluent opérateurs filtre (certains utilisent @ vs $), Support regex, expressions script, extensions fonctions. Certaines implémentations ajoutent fonctions comme @.length, @.min(), @.max() pour agrégation. Expressions script [(@.price * @.quantity)] permettent calculs. Opérateur parent ^ et chemin actuel ~ fournissent contexte. Toujours vérifier Documentation implémentation cible pour fonctionnalités Supportées et particularités syntaxe.

🎯Applications Pratiques

JSONPath excelle dans analyse réponse API, extraction champs spécifiques réponses JSON API REST sans désérialisation complète. Gestion configuration utilise JSONPath pour interroger et mettre à jour valeurs config imbriquées. Pipelines transformation données emploient JSONPath pour mapper JSON source vers schémas cibles. Frameworks tests (Postman, REST Assured) utilisent assertions JSONPath pour valider structure et valeurs réponse. Analyse Journaux extrait champs pertinents Journaux Format JSON. Outils GraphQL et OpenAPI utilisent JSONPath pour traversée et validation schéma. Performance: Pour grands JSON, considérer parsers streaming ou bases données (syntaxe requête MongoDB, jsonb_path_query PostgreSQL).

Questions fréquentes

Pourquoi aucun résultat n'est retourné ?

Vérifiez que le chemin commence par $, que les indices de tableau sont valides et que les noms correspondent exactement. Testez d'abord avec un chemin Simple.
💬

Commentaire chercher une clé à n'importe quelle profondeur ?

Utilisez la descente récursive : $..author trouve author à tous les niveaux.
🔍

Commentaire écrire un filtre ?

Utilisez [?(@.price < 10)]. @ représente l'élément courant. Combinez des conditions avec && et ||.
💡

Différence entre résultat vide et null ?

Vide signifie aucune correspondance ; null signifie que la valeur trouvée est null. Vérifiez les données source et l'expression.
📚

Conseils de performance pour gros JSON ?

Évitez d'abuser de .. ; restreignez d'abord, puis filtrez. Envisagez le streaming ou un traitement côté serveur.

User Comments

0 / 2000
Loading...