Qu'est-ce qu'un testeur JSONPath ?
Un testeur JSONPath évalue une expression JSONPath par rapport à un document JSON et renvoie chaque valeur sélectionnée par l'expression, ainsi que le chemin exact vers chaque correspondance. JSONPath est un langage de requête pour JSON, la façon dont XPath est un langage de requête pour XML : vous écrivez un chemin court tel que $.store.book [*].author et récupérez la liste des valeurs correspondantes sans écrire de code. Cet outil analyse votre JSON, exécute l'expression et affiche à la fois les résultats et le chemin normalisé de chacun.
Le point d'un testeur est le feedback Lorsqu'une expression JSONPath ne renvoie rien, ou renvoie plus que ce à quoi vous vous attendiez, le problème est presque toujours un petit détail de syntaxe : un caractère générique manquant, le mauvais style de parenthèse, ou un filtre qui compare une chaîne à un nombre Exécuter la requête en direct contre des données réelles, et voir quels nœuds elle touche, transforme cette conjecture en une vérification de deux secondes C'est la même raison pour laquelle les développeurs gardent un testeur de regex ouvert à côté de leur éditeur.
Tout s'exécute dans votre navigateur Le JSON est analysé avec l'analyseur JSON intégré et l'expression est évaluée par un petit interpréteur écrit en JavaScript, donc rien n'est téléchargé, enregistré ou stocké Cela compte car le travail de JSONPath se produit généralement contre les réponses API et les fichiers de configuration qui transportent des jetons, des identifiants ou des enregistrements client, et cet outil conserve cette charge utile sur votre propre machine et continue de fonctionner hors ligne une fois la page chargée.
JSONPath est une convention avec plusieurs implémentations plutôt qu'une seule spécification, et elles sont en désaccord sur les bords La syntaxe du filtre est la partie la moins portable, donc une expression qui fonctionne dans une bibliothèque peut avoir besoin d'être ajustée dans une autre La descente récursive est l'opération coûteuse : elle parcourt chaque nœud du document, donc sur un fichier volumineux une requête commençant par deux points est sensiblement plus lente qu'un chemin explicite.
Pour l'essayer en tant qu'évaluateur en ligne JSONPath, cliquez sur Charger l'échantillon, remplacez l'expression par $.store.book [ ?(@.price < 10)].titre et cliquez sur Évaluer. Le mode Valeurs renvoie [« Sayings of the Century », « Moby Dick »] avec le volet marqué 2 résultats. Basculez la sortie sur Paths et cliquez à nouveau sur Évaluer, et la même requête renvoie $.store.book [0].title et $.store.book [2].title, qui vous indique que le filtre a sauté les livres à l'index 1 et 3. Changez l'expression en $price.... et vous obtenez également cinq numéros de descente.
Comment utiliser le testeur JSONPath ?
Collez votre JSON
Collez un objet ou un tableau dans la boîte JSON, ou cliquez sur Charger l'échantillon pour le document de la librairie L'entrée doit être JSON valide ; une erreur d'analyse est affichée avec le propre message de votre navigateur, qui nomme généralement la position afin que vous puissiez la corriger.
Écrire une expression JSONPath
Entrez un chemin tel que $.store.book [*].title ou $..price. Commencez à partir de $ pour la racine, utilisez des points ou des parenthèses pour les enfants et ajoutez des filtres comme [ ?(@.price < 10)] à sélectionner par valeur.
Lire les matchs
Cliquez sur Évaluer pour exécuter l'expression ; le volet Matches répertorie chaque valeur correspondante et affiche le nombre de résultats. Basculez la sortie vers les chemins ou les entrées et cliquez à nouveau sur Évaluer pour voir d'où vient chaque résultat.
Copier le résultat
Copiez les valeurs correspondantes, la liste des chemins ou les entrées complètes de chemin et de valeur sous forme de JSON à coller dans votre code, vos tests ou votre documentation.
Principales caractéristiques
Syntaxe de chemin complet
La racine, l'enfant, la descente récursive (..), le caractère générique (*), l'index de tableau comprenant l'index négatif, les unions et les tranches de style Python sont tous pris en charge, de sorte que la plupart des exemples JSONPath publiés restent inchangés.
Filtrer les expressions
Sélectionnez les nœuds par valeur avec des filtres tels que [ ?(@.price < 10 & @.category == « fiction »)]. Opérateurs de comparaison, contrôles d'existence et & & / || les combinaisons sont évaluées par élément.
Valeurs, chemins ou entrées
Voir les valeurs appariées, le chemin normalisé de chaque correspondance, ou les deux ensemble comme entrées La sortie du chemin est pratique pour construire l'expression dont vous avez besoin.
Effacer les messages d'erreur
Les expressions JSON et mal formées invalides sont signalées séparément avec un message spécifique, vous savez donc s'il faut corriger les données ou la requête plutôt que de regarder un résultat vide.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!