Aller au contenu
Tout en local

Extracteur JSONPath

Extrait les valeurs correspondant à une expression JSONPath ou JSON Pointer d'un document JSON.

Entrée
Sortie

Extracteur JSONPath

Collez un document JSON, écrivez une requête et cet outil retourne uniquement les valeurs qui correspondent — sans besoin d'écrire un script ni d'ouvrir une REPL pour extraire un champ d'une grande structure. Il supporte deux styles de requête : les expressions JSONPath comme $.users[*].email et les références RFC 6901 JSON Pointer comme /users/0/email. Basculez entre les deux avec l'option de syntaxe, selon ce que vous avez sous la main : documentation API, ligne de journal ou rapport d'erreur.

La prise en charge de JSONPath couvre les modèles que les gens utilisent réellement : accès par notation pointée et par crochets ($.user.name ou $['user name'] pour les clés avec espaces), le joker [*] pour se déployer sur chaque élément d'un array ou chaque valeur d'un objet, les indices numériques y compris les indices négatifs comptés à partir de la fin ($.items[-1]), et la descente récursive .. pour trouver une clé quelle que soit sa profondeur ($..email). Les expressions filtrées et les plages de tranche ne sont pas supportées — si votre requête demande une logique conditionnelle, extrayez d'abord le tableau parent, puis filtrez en aval.

Deux options façonnent la sortie. L'option "Liste de lignes" imprime chaque valeur trouvée sur sa propre ligne — les chaînes sont imprimées telles quelles, les objets et arrays sont imprimés en JSON compact — ce qui est pratique pour le passer directement à un autre outil basé sur les lignes comme sort ou dedupe. L'option "Tableau JSON" enveloppe chaque correspondance dans un unique tableau JSON, utile pour obtenir un sous-ensemble propre et analysable du document. Active "Afficher le chemin pour chaque correspondance" pour ajouter en début le chemin résolu à chaque résultat, ce qui aide quand plusieurs champs différents pourraient plausiblement expliquer une valeur donnée.

Tout s'exécute localement dans votre navigateur : le document collé et l'expression écrite ne sont jamais envoyés ailleurs. Cela le rend sûr pour pointer vers les vraies réponses API, les exportations de configuration internes ou les extraits de journaux de production. Le décompte sous la sortie rapporte exactement combien de correspondances ont été trouvées, donc un résultat vide se distingue d'une requête restée sans correspondance.

FAQ

Quelle est la différence entre JSONPath et JSON Pointer ?
Les expressions JSONPath comme $.users[*].email peuvent correspondre à de nombreuses valeurs à la fois en utilisant des jokers et la descente récursive. Les références JSON Pointer comme /users/0/email se résolvent toujours à au plus une valeur — c'est un schéma d'adressage plus simple et plus littéral, courant en JSON Schema et les charges HTTP PATCH.
Quelles fonctionnalités de JSONPath sont supportées ?
Accès par notation pointée et par crochets, le joker [*], indices numériques d'array (y compris les négatifs) et .. descente récursive pour une clé à une profondeur quelconque. Les expressions filtrées comme [?(@.price<10)] et les plages de tranche comme [0:2] ne sont pas supportées.
Que se passe-t-il si mon expression ne correspond à rien ?
Tu obtiens un résultat vide et un décompte de 0 correspondances — ce n'est pas traité comme une erreur. Une erreur s'affiche seulement si l'entrée JSON n'est pas valide ou si l'expression est mal formée.
Puis-je voir d'où provient chaque valeur ?
Active "Afficher le chemin pour chaque correspondance" et chaque résultat est préfixé par le chemin exact où il a été trouvé, dans la même syntaxe que la requête — chemins JSONPath comme $.users[0].email, ou le pointeur original pour les requêtes JSON Pointer.
Mon document JSON est-il uploadé quelque part ?
Non. L'analyse et le traitement des requêtes se font entièrement dans ton navigateur — le document et l'expression ne quittent jamais ton appareil.