DocumentsImagesMédiasOutils PDF

Chercheur JSON Path en Ligne

Clique sur n'importe quelle valeur JSON et obtiens son chemin instantanément. Gratuit, dans ton navigateur.

Click any path to copy

Processed in your browser

Trouve des chemins JSON en un clic

Compatible avec JSONPath et jq

Les chemins générés sont valides en JSONPath standard, jq, jsonata et dans la plupart des bibliothèques de manipulation JSON.

100 % privé

Ton JSON est traité dans le navigateur. Jamais envoyé à un serveur. Sûr pour les JSON avec des données d'API internes.

Arbre visuel interactif

Le JSON s'affiche comme un arbre avec un code couleur par type (string, number, boolean, array, object) pour faciliter la navigation.

Instantané

Le chemin apparaît dès que tu cliques. Aucun formulaire, aucun bouton, aucune attente.

Trois étapes, sans complications

1

Colle ton JSON

Saisis le JSON à explorer. L'outil le valide et affiche l'arbre de façon interactive avec un code couleur par type.

2

Clique sur n'importe quelle valeur

Clique sur n'importe quelle clé ou valeur du JSON. L'outil calcule et affiche immédiatement le chemin complet en notation pointée et en syntaxe JSONPath.

3

Copie le chemin

Copie le chemin généré (par ex. `data.users[0].address.city`) pour l'utiliser directement dans ton code, une requête jq ou un outil d'API.

Des questions ?

Un chemin JSON est la séquence de clés et d'indices de tableau nécessaire pour accéder à une valeur spécifique dans une structure JSON imbriquée. Par exemple, dans `{"user": {"name": "Alice"}}`, le chemin vers le nom serait `user.name` en notation pointée, ou `$.user.name` en syntaxe JSONPath. Les chemins sont indispensables pour extraire des valeurs par programmation, configurer des règles métier basées sur des données JSON et écrire des requêtes de transformation.

JSONPath est un langage de requête pour JSON, analogue à XPath pour XML, proposé par Stefan Goessner en 2007. Le signe `$` représente la racine du document. Le point `.` accède à une propriété d'objet : `$.store.book`. Les crochets `[]` accèdent aux indices de tableau : `$.users[0]`. Les requêtes récursives utilisent `..` : `$..name` récupère tous les champs `name` à n'importe quel niveau. Les filtres s'expriment sous la forme `[?(@.price < 10)]`.

Les chemins JSON ont de nombreux usages pratiques : (1) Débogage d'API — identifier exactement où se trouve une valeur dans une grande réponse ; (2) Requêtes jq — `jq '.data.users[0].name'` pour extraire des valeurs dans le terminal ; (3) Extraction de configuration — scripts lisant des valeurs depuis des fichiers de config JSON complexes ; (4) Transformations de données avec des outils comme JSONata ou jolt ; (5) Règles de validation dans les schémas JSON Schema référençant des champs spécifiques.

Les tableaux en JSON sont indexés à partir de zéro. Le premier élément est `[0]`, le deuxième `[1]`, et ainsi de suite. En JSONPath, `$.items[0]` accède au premier élément, `$.items[-1]` au dernier (dans les implémentations supportant les indices négatifs), et `$.items[0,2]` accède aux éléments aux indices 0 et 2. Pour accéder à tous les éléments d'un tableau, on utilise le wildcard : `$.items[*]`.

L'outil gère le JSON avec n'importe quel niveau d'imbrication. Cependant, pour les JSON extrêmement profonds ou comportant des milliers de nœuds, l'affichage de l'arbre interactif peut ralentir dans les navigateurs avec des ressources limitées. En pratique, la plupart des API REST et des fichiers de config ont moins de 10 niveaux d'imbrication, que l'outil gère sans aucun problème.

JSONPath : spécification Stefan Goessner 2007, RFC 9535, jq et débogage d'API REST

JSONPath a été proposé par Stefan Goessner en 2007 comme langage de requête pour JSON, analogue à XPath pour XML. Contrairement à XPath, JSONPath n'a jamais été formellement standardisé avant le RFC 9535 (2024). De nombreuses implémentations dans différents langages (Jayway en Java, jsonpath en Python, jsonpath-ng, jp en Go) ont adopté des variantes légèrement différentes de la spécification originale. Le RFC 9535 a finalement unifié la syntaxe pour garantir un comportement cohérent entre les implémentations.

jq est l'outil en ligne de commande le plus populaire pour traiter le JSON, créé par Stephen Dolan en 2012. Il fonctionne comme un processeur de flux : reçoit du JSON via stdin, applique un filtre (expression de chemin et transformation), et émet du JSON via stdout. Des commandes comme `curl https://api.example.com/users | jq '.[0].email'` permettent d'extraire des valeurs depuis des réponses API directement dans le terminal. La syntaxe d'accès aux chemins de jq est très similaire à JSONPath, mais avec des différences pour les tableaux et les filtres.

Dans le développement d'API REST moderne, déboguer des réponses JSON complexes est une tâche quotidienne. Des outils comme Postman, Insomnia et Bruno permettent d'écrire des expressions JSONPath pour extraire des valeurs de réponses dans les tests. AWS utilise JSONPath dans Step Functions pour extraire des données entre les étapes d'un workflow. Kubernetes utilise JSONPath dans kubectl avec `--jsonpath` pour extraire des champs d'objets du cluster. Connaître les chemins exacts des champs dans un JSON complexe est fondamental pour travailler efficacement avec des API et des données structurées.