Outils

Testeur JSONPath

Essayez une expression JSONPath sur votre JSON et voyez chaque correspondance avec son chemin exact et son JSON Pointer.

S’exécute dans le navigateurFormats de données1,2 k
Gratuit

Entrée

0 B

Résultat

Le résultat apparaîtra ici.

JSONPath sert à extraire des valeurs d’un JSON dans les outils de test d’API, AWS Step Functions, les pipelines de logs et la sortie -o jsonpath de kubectl, et il est facile de se tromper subtilement dans une expression. Collez le document, tapez une expression et voyez exactement ce qu’elle sélectionne : chaque correspondance est renvoyée avec son chemin normalisé et son JSON Pointer, ce qui vous permet de savoir quel élément de quel tableau a correspondu, et pas seulement quelle était la valeur. L’outil utilise JSONPath-Plus, l’implémentation JavaScript la plus répandue, qui ajoute à la syntaxe d’origine les filtres, la descente récursive et l’opérateur parent ^.

Comment ça marche

  • Les filtres comme $[?(@.stargazers_count > 100000)] s’exécutent dans l’évaluateur sécurisé de JSONPath-Plus, qui interprète lui-même l’expression au lieu de l’exécuter comme du JavaScript.
  • Chaque correspondance porte son chemin en notation entre crochets et sous forme de JSON Pointer RFC 6901, prêt pour une opération JSON Patch.
  • Affichez uniquement les valeurs pour obtenir un tableau plat de résultats, ou uniquement les chemins si vous voulez la liste des emplacements.
  • Un tableau vide n’est pas une erreur : il signifie que l’expression est valide et n’a simplement rien sélectionné.

Où vont vos données

Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.

Cet outil est gratuit et ne demande aucun compte. Ses résultats n’existent que dans la page ouverte et ne sont enregistrés nulle part.

Ce que ça coûte

Cet outil est gratuit, sans connexion ni points.

Questions fréquentes

Est-ce le même JSONPath que celui de la RFC 9535 ?
En grande partie, mais pas entièrement. La RFC 9535 a normalisé JSONPath en 2024, bien après l’écriture de JSONPath-Plus, et c’est sur la syntaxe des filtres qu’ils divergent : la RFC écrit $[?@.price < 10] avec son propre jeu de fonctions, tandis que JSONPath-Plus utilise la forme d’origine $[?(@.price < 10)]. Les chemins simples, les jokers, les tranches et la descente récursive se comportent de la même façon.
Une expression qui fonctionne ici fonctionnera-t-elle dans kubectl ?
Les plus simples, oui. kubectl enveloppe son propre dialecte JSONPath dans une syntaxe de modèle — kubectl get pods -o jsonpath='{.items[*].metadata.name}' — donc retirez les accolades et ajoutez un $ en tête pour tester ici la partie chemin. Les filtres et les fonctions diffèrent entre les deux : vérifiez directement dans kubectl tout ce qui dépasse la simple sélection.
Pourquoi mon filtre échoue-t-il avec une erreur sur la lecture d’une propriété ?
L’évaluateur sécurisé autorise l’accès aux propriétés, les comparaisons et la logique sur le nœud courant, et refuse les appels de méthodes, les constructeurs et tout ce qui exécuterait du code arbitraire. C’est voulu : une expression collée depuis ailleurs ne doit jamais pouvoir s’exécuter dans votre navigateur.
Quelle est la différence entre .. et * ?
* correspond à chaque enfant direct d’un nœud ; .. descend à travers tous les niveaux en dessous. $..name trouve une clé name à n’importe quelle profondeur, tandis que $[*].name ne regarde qu’un niveau dans le tableau de premier niveau. Une descente récursive sur un gros document peut renvoyer bien plus de correspondances que prévu.

L’open source derrière

Cet outil fonctionne grâce à JSONPath-Plus/JSONPath, publié sous licence MIT. Si vous avez besoin du même comportement dans votre propre programme, c’est cette bibliothèque qu’il faut utiliser.

JSONPath-Plus/JSONPath

Aussi appelé

  • testeur jsonpath
  • jsonpath en ligne
  • évaluateur jsonpath
  • filtre jsonpath
  • tester expression jsonpath
  • syntaxe jsonpath