Outils JSON

Testeur JSONPathretrouver aussi l’origine de chaque valeur

Essayez le filtre de prix et comparez les chemins. Désactivez l’exécution automatique pour lancer chaque requête vous-même.

Testeur JSONPath

JSON source

Le JSON reste dans ce navigateur. Seules les expressions enregistrées volontairement sont conservées localement.

Correspondances

Chemin normaliséValeur

Aperçu limité à 1 200 caractères par valeur. La copie et le téléchargement incluent toute la vue sélectionnée.

RFC 9535 · jsonpath-rfc9535 1.3.0 · Aucune expression JavaScript

Résultat périmé ; export et transfert désactivés.

Continuer dans un autre outil

Le clic ouvre un nouvel onglet. Les données transitent en mémoire, sans figurer dans l’URL. Limite : 500 000 caractères.

Un Testeur JSONPath devient utile quand plusieurs objets d’une réponse API contiennent le même nom de champ. Le chemin permet de savoir quel enregistrement a fourni chaque valeur.

Cet évaluateur JSONPath emploie un dialecte annoncé. Comparez une expression JSONPath ciblée à une recherche récursive avant de la reprendre dans votre application.

Pourquoi utiliser ce Testeur JSONPath ?

Conserver le lien entre valeur et position

Le Testeur JSONPath associe chaque valeur à un chemin normalisé, par exemple $['store']['book'][0]. Deux livres au même prix restent deux correspondances distinctes ; leur origine ne disparaît pas dans une liste dédupliquée.

Deux branches sélectionnées dans un arbre de données et leurs valeurs avec les chemins correspondants.

Choisir ce qui part vers l’étape suivante

Sélectionnez le document d’origine ou le tableau des valeurs trouvées avant de l’envoyer. Des objets peuvent devenir des lignes CSV ; des scalaires peuvent être examinés dans le formateur. Une requête terminée ne transmet rien automatiquement.

Le document entier ou une sélection peut être transmis à un document mis en forme ou à un tableau.

Délimiter la recherche avant de réutiliser la requête

01

Comparer un enfant et tous les descendants

L’exemple des titres suit uniquement les livres. $..price trouve aussi le prix du vélo. Les chemins permettent de repérer un champ homonyme situé dans une autre branche avant d’élargir la recherche.

02

Maîtriser le moment de l’exécution

Le mode automatique attend 350ms après une modification. Sinon, utilisez le bouton ou Ctrl/Cmd+Enter. Toute modification du JSON ou de l’expression rend l’ancien résultat inexploitable pour la copie, le téléchargement et l’envoi.

03

Vérifier la forme exportée

Les valeurs sortent toujours dans un tableau, même pour une seule correspondance. La vue des chemins exporte un tableau de chaînes. Vous pouvez enregistrer 20 expressions ; charger l’une d’elles ne remplace pas le document courant.

Des sélections dont on peut vérifier l’origine

Filtres et fonctions standard

$.store.book[?@.price < 10] sélectionne les livres bon marché. Combinez les conditions avec && ou || et utilisez length, count, match, search et value. Le moteur analyse ces fonctions sans exécuter de code JavaScript arbitraire.

Plusieurs modes de sélection

Noms de propriétés, jokers, descente récursive, indices négatifs, tranches et listes de sélecteurs permettent de parcourir la structure. Un sélecteur répété peut produire des doublons ; le résultat n’est ni dédupliqué ni trié automatiquement.

Distinguer absence et valeur nulle

Une requête valide sans correspondance renvoie []. Un nœud trouvé dont la valeur est null renvoie [null]. Une erreur de syntaxe est signalée séparément et bloque l’export, au lieu de se faire passer pour un résultat vide.

Un aperçu progressif, un export complet

Le tableau affiche 50 correspondances supplémentaires à la fois, avec 1 200 caractères maximum par valeur. Copie et téléchargement incluent le résultat complet accepté. La suppression d’une expression enregistrée exige une confirmation et peut être annulée une fois.

Dialecte, nombres et limites

Une implémentation précise
Le moteur est jsonpath-rfc9535 1.3.0, fondé sur RFC 9535. Il ne reproduit pas toutes les extensions de Jayway, Goessner, kubectl ou JSONPath Plus. Les pipelines jq, JMESPath, fonctions personnalisées et scripts sont refusés.
JSON strict et précision numérique
Commentaires, JSON5, virgules finales et clés en double sont rejetés, de même que les entiers non sûrs et dépassements numériques. Les décimaux ordinaires suivent les nombres JavaScript ; exposants, zéros finaux et zéro négatif ne gardent pas leur écriture initiale.
Des plafonds explicites
Entrée de 500 000 caractères, profondeur 100, 50 000 nœuds, expression de 2 000 caractères, 5 000 correspondances et sortie cumulée de 2 000 000 caractères. Le worker s’arrête après 2 secondes. Un dépassement ne produit pas d’export partiel.
Sélectionner ne remodèle pas les données
La requête ne modifie pas les enregistrements, ne regroupe pas les lignes et ne fabrique pas de nouveaux objets. Le transfert CSV accepte un objet ou un tableau composé uniquement d’objets. Les scalaires ne sont pas enveloppés automatiquement en lignes.
Une transmission volontaire
Aucun import de fichier ou d’URL, aucune synchronisation cloud ni lien contenant les données. Seules les expressions enregistrées sont conservées. Le transfert utilise la mémoire et un nouvel onglet de même origine, jusqu’à 500 000 caractères ; gardez l’onglet source ouvert.

Questions sur le Testeur JSONPath

Quelle est la différence entre .key et ..key ?

.key vise un enfant direct, tandis que ..key recherche ce nom dans les descendants. Avec la racine, $.price et $..price n’ont donc pas la même portée. Vérifiez les chemins pour comprendre pourquoi une recherche récursive trouve davantage de valeurs.

Comment accéder à une clé contenant un point ou une espace ?

Utilisez la notation entre crochets et guillemets, par exemple $['a.b'] ou $['nom complet']. Le point appartient alors au nom de propriété et ne sépare pas deux niveaux. Échappez les guillemets et barres obliques inverses présents dans le nom.

Puis-je tester du JSON sensible sans risque ?

Le Testeur JSONPath ne transmet pas le document au serveur pour l’évaluer. L’enregistrement porte seulement sur l’expression. Un envoi vers un autre outil demande de choisir les données puis de cliquer ; examinez également les informations sensibles éventuellement présentes dans vos expressions.

Pourquoi l’absence de résultat renvoie-t-elle un tableau vide ?

Le résultat est une liste de nœuds. Sans nœud sélectionné, elle contient zéro élément : []. Un nœud de valeur null est en revanche un élément et donne [null]. L’absence de résultat n’est donc pas une erreur de syntaxe.

Les filtres exécutent-ils du JavaScript arbitraire ?

Non. Le Testeur JSONPath utilise un analyseur RFC et n’exécute pas de JavaScript arbitraire. Les fonctions match et search peuvent néanmoins effectuer un travail coûteux sur une expression régulière ; elles restent soumises au délai du worker.

Une requête est-elle mal interprétée ?

Essayer le filtre de prix

Utilisez le Testeur JSONPath pour comparer les livres filtrés à tous les prix trouvés par récursion. Après vérification des chemins, choisissez les données utiles à votre prochaine étape.