Aller au contenu

Chercheur JSONPath

Saisissez une expression JSONPath et voyez aussitôt les valeurs qu’elle sélectionne dans votre JSON, avec le chemin normalisé de chaque résultat.

Traité localement dans votre navigateur

Options

Prend en charge $ .clé ['clé'] [0] [-1] [*] .. [1:3] et les filtres [?(@.price < 10 && @.x == 'a')]

0 caractères · 0 lignes
Le résultat apparaîtra ici.

Qu'est-ce que Chercheur JSONPath ?

JSONPath est un langage de requête pour JSON, comparable à XPath pour XML. Une expression comme $.store.book[?(@.price < 10)].title parcourt le document et renvoie chaque valeur correspondante, très pratique pour extraire des champs d’une réponse d’API ou écrire des assertions de test.

Cet outil possède son propre évaluateur, écrit sans eval ni exécution dynamique de code. Il gère $, .clé, ['clé'], [n], les indices négatifs, [*], la descente récursive (..), les unions, les tranches [début:fin:pas] et les filtres avec comparaisons, &&, ||, ! et parenthèses. Les résultats s’affichent sous forme de tableau JSON et de liste de chemins normalisés comme $['store']['book'][0]['title'].

Comment ça marche ?

  1. Collez votre document JSON dans la zone de saisie.
  2. Saisissez un JSONPath dans le champ d’expression, par exemple $..author ou $.items[?(@.qty > 1)].sku.
  3. Lisez les correspondances (en JSON) et la liste des chemins trouvés.
  4. Affinez l’expression jusqu’à sélectionner exactement ce qu’il vous faut, puis copiez le résultat.

Cas d'usage courants

  • Extraire un champ de chaque élément d’une grosse réponse d’API.
  • Prototyper un JSONPath avant de l’utiliser dans Postman, une assertion REST ou une requête Kubernetes.
  • Trouver le chemin exact d’une valeur enfouie quelque part dans un document.
  • Filtrer des enregistrements par prix, statut ou étiquette sans écrire de script.

Exemples

Essayez cette saisie dans l'outil ci-dessus :

Entrée
{"store":{"book":[{"title":"Sayings of the Century","author":"Nigel Rees","price":8.95,"category":"reference"},{"title":"Sword of Honour","author":"Evelyn Waugh","price":12.99,"category":"fiction"},{"title":"Moby Dick","author":"Herman Melville","price":8.99,"category":"fiction"}],"bicycle":{"color":"red","price":19.95}}}
Sortie
[
  "Moby Dick"
]

Confidentialité

Chercheur JSONPath s'exécute entièrement dans votre navigateur. Le texte ou les fichiers que vous fournissez sont traités sur votre appareil et ne sont ni envoyés, ni journalisés, ni stockés sur nos serveurs.

Limites

Il s’agit d’un sous-ensemble pratique de JSONPath : les expressions de script, les expressions régulières et les filtres imbriqués ne sont pas pris en charge, et les cas limites peuvent différer d’autres implémentations.

Questions fréquentes

Quelle syntaxe JSONPath est prise en charge ?

La racine $, l’accès aux enfants par point et par crochets, les indices [n] et [-n], les jokers [*] et .*, la descente récursive .., les unions comme [0,2] ou ['a','b'], les tranches et les filtres du type [?(@.price < 10 && @.category == 'fiction')] avec ==, !=, <, <=, >, >=.

Puis-je saisir n’importe quelle expression sans risque ?

Oui. L’expression est analysée par un parseur écrit à la main et évaluée par du code ordinaire : rien n’est transmis à eval, donc une expression malveillante ne peut pas exécuter de code. Les clés de prototype comme __proto__ ou constructor ne sont jamais suivies.

Que fait un filtre contenant seulement @.isbn ?

Un chemin utilisé seul dans un filtre est un test d’existence : les éléments qui possèdent une propriété isbn sont conservés, les autres sont écartés.

Plus d'outils dans JSON & données →