search

Found

info Aperçu

Exécutez des expressions JSONPath sur tout JSON et visualisez les valeurs trouvées, avec racine $, notation par point, joker, descente récursive et filtres

📘 Mode d'emploi

  1. Collez votre JSON dans la zone de saisie de gauche
  2. Saisissez une requête JSONPath (ex. $.store.book[*].author)
  3. Consultez les valeurs trouvées et leur nombre à droite

Testeur de requêtes JSONPath

0 correspondances
Copié !
Article

Testeur de requêtes JSONPath | Testez des expressions JSONPath dans le navigateur

Collez du JSON, saisissez une requête JSONPath, et les valeurs correspondantes ainsi que leur nombre s'affichent à droite. Prend en charge la racine $, la notation par point, les crochets [], les jokers, la descente récursive .., les filtres ?() et les tranches de tableau.

💡 À propos de cet outil

Manipuler des réponses d'API ou des fichiers de configuration mène souvent au même besoin : extraire d'un JSON volumineux une donnée précise, par exemple tous les author ou seulement les éléments en dessous d'un certain prix. Parcourir la structure à la main est source d'erreurs, et écrire un script jetable à chaque fois devient vite fastidieux.

JSONPath permet d'écrire cette extraction en une seule ligne, mais son comportement ne correspond pas toujours à l'intuition tant qu'on ne l'exécute pas. Cet outil évalue votre expression sur le JSON collé et indique précisément quels éléments ont été trouvés, avec un décompte pour vérifier le résultat par rapport à ce que vous attendiez. Les boutons d'exemple permettent de comparer le comportement de [*], .., des tranches et des filtres sur les mêmes données. C'est exactement le bac à sable qui évite la boucle « pourquoi ça ne renvoie rien ? » que l'on rencontre en lançant une requête JSONPath à l'aveugle dans un outil en ligne de commande.

🧐 Questions fréquentes

Quelle syntaxe est prise en charge ? Racine $, notation par point ($.store.book), notation par crochets [], jokers * et [*], descente récursive .., expressions de filtre ?(@.price<10), tranches de tableau comme [-1:] et [0:2], et union [0,1].

Quelles comparaisons fonctionnent dans les filtres ? Sur @.key, vous pouvez utiliser ==, !=, <, >, <= et >=. Par exemple, $.store.book[?(@.price<10)] ne conserve que les éléments dont le prix est inférieur à 10.

Pourquoi ma requête renvoie-t-elle 0 résultat ? C'est souvent dû à une faute de frappe dans un nom de clé, à l'application d'une tranche ou d'un filtre sur autre chose qu'un tableau, ou à une expression qui ne commence pas par $. Vérifiez d'abord l'orthographe des clés dans votre JSON.

Que se passe-t-il si mon JSON est invalide ? Si l'entrée ne peut pas être analysée comme du JSON, une erreur d'analyse s'affiche et la zone de résultats reste vide. Corrigez les crochets ou les virgules et l'évaluation reprend.

La casse est-elle prise en compte ? Oui, les noms de clés sont sensibles à la casse. Author et author sont traités comme des clés distinctes.

📚 Le saviez-vous

JSONPath a été proposé vers 2007 par Stefan Goessner, qui a repris la notation . et .. directement de XPath, le langage de requête pour XML. Pendant des années, chaque bibliothèque implémentait les détails des filtres et des unions un peu différemment, si bien que la même expression pouvait donner des résultats divergents d'un langage à l'autre. Cela a changé en 2024 avec la standardisation de JSONPath sous la référence RFC 9535, qui a doté la grammaire d'un cadre commun. La prise en charge varie encore selon les bibliothèques : il vaut donc mieux confirmer qu'une expression fonctionne dans l'environnement où vous la déploierez.