onlinetools.dev

Testeur JSONPath

Interrogez du JSON avec des expressions JSONPath et voyez chaque correspondance

Exécution locale
loading…
À propos de cet outil

Testez des expressions JSONPath sur votre propre JSON et voyez chaque correspondance avec sa valeur et son chemin concret. La syntaxe couvre l’usage quotidien : notation par points et par crochets, indices de tableaux (y compris négatifs), jokers, unions (['a','b']) et descente récursive ($..price).

Le chemin affiché pour chaque correspondance est la partie discrètement utile : interrogez $..id sur un document profond et chaque résultat vous dit exactement où il se trouve ($.data.items[3].id), prêt à coller dans du code. Cela transforme "quelque part dans ce blob" en adresse exacte.

Les expressions de filtre ([?(@.price < 10)]) ne sont pas encore implémentées — l’outil le dit explicitement au lieu de renvoyer des résultats faux. Pour l’extraction structurelle, qui représente l’essentiel de l’usage de JSONPath, tout fonctionne.

Questions fréquentes

Quelle est la différence entre $.a.b et $..b ?
$.a.b suit un chemin exact : la clé a à la racine, puis la clé b à l’intérieur. $..b (descente récursive) trouve chaque b n’importe où dans le document, à n’importe quelle profondeur. La descente récursive est puissante mais peut surprendre — elle attrape aussi des clés b nichées dans des endroits auxquels vous n’aviez pas pensé.
Comment accéder aux clés contenant des espaces ou des tirets ?
Notation par crochets avec guillemets : $['my key'] ou $.data['content-type']. La notation par points ne fonctionne que pour les clés qui ressemblent à des identifiants valides.
Les indices de tableaux négatifs fonctionnent-ils ?
Oui — [-1] est le dernier élément, [-2] l’avant-dernier, suivant la convention popularisée par Python et adoptée par la RFC 9535. [0] reste le premier élément.
JSONPath est-il standardisé ?
Depuis 2024, oui — la RFC 9535 en définit la syntaxe et la sémantique. Les implémentations antérieures divergent sur les cas limites (surtout les filtres et les unions) : une même expression peut se comporter différemment selon les bibliothèques ; testez avec celle que vous déployez.
Outils associés