Parseur JSON

Collez un JSON pour l'explorer en arborescence, cliquer sur une valeur pour obtenir son chemin d'accès, ou en extraire une directement par chemin.

{
utilisateur: {
nom: "Awa Diallo"
actif: true
tags: [ 2 éléments ]
adresses: [ 2 éléments ]
}
}
Nœud sélectionné (cliquez sur l'arborescence)

Aucun nœud sélectionné pour le moment.

Parser un JSON, c'est quoi exactement ?

Parser un JSON, c'est transformer un texte en une structure de données manipulable : objets, tableaux, chaînes, nombres, booléens et null. Tant qu'il n'est pas parsé, un JSON n'est qu'une suite de caractères ; une fois parsé, chaque valeur occupe une position précise, atteignable par un chemin. C'est cette structure que cet outil affiche en arborescence.

Trois opérations sont souvent confondues. Formater réécrit le texte avec une indentation régulière : le contenu est identique, seule la présentation change. Valider répond à une question binaire — la syntaxe est-elle conforme ? — et localise la première erreur. Explorer, en revanche, suppose le document déjà valide et s'intéresse à ce qu'il contient : où se trouve telle valeur, combien d'éléments compte ce tableau, quel est le type de ce champ. Pour indenter ou minifier, passez par le formatteur JSON ; pour retrouver une valeur enfouie à cinq niveaux de profondeur, restez ici.

La notation de chemin utilisée

Le chemin affiché après un clic — et attendu dans le champ d'extraction — suit la notation d'accès JavaScript, celle que vous écririez dans votre code. Il se colle donc directement dans un fichier .js ou .ts derrière le nom de votre variable, sans transformation. Ce n'est pas la syntaxe JSONPath : les sélecteurs $, .. et * ne sont pas reconnus.

NotationRôleRègle
utilisateurClé d'objet simpleUtilisée telle quelle quand la clé est un identifiant JS valide (lettres, chiffres, _ ou $, sans commencer par un chiffre).
utilisateur.nomClé imbriquéeLe point enchaîne les niveaux d'objet.
tags[0]Index de tableauCrochets et nombre entier, indexé à partir de 0.
adresses[1].villeMélange des deuxUn chemin peut alterner index et clés sur autant de niveaux que nécessaire.
meta["date de création"]Clé non-identifiantCrochets et guillemets dès que la clé contient un espace, un tiret, un accent ou commence par un chiffre. Les guillemets simples sont acceptés en saisie.

Limite connue : une clé contenant elle-même un guillemet double ne peut pas être réutilisée dans le champ d'extraction — le chemin généré est correct en JavaScript, mais la relecture du chemin s'arrête au guillemet. Passez par l'arborescence pour ce cas de figure.

Quand cet outil sert vraiment

Le cas le plus fréquent est la réponse d'API : vous récupérez plusieurs centaines de lignes depuis un webhook, un export Stripe ou une réponse d'un service tiers, et vous devez écrire le code qui lit un champ précis. Plier les branches inutiles, cliquer sur la valeur cherchée, copier le chemin, le coller dans votre code : l'aller-retour est plus rapide et plus sûr qu'un comptage manuel de crochets.

Deuxième usage : vérifier une hypothèse avant de coder. Le champ items est-il un tableau d'objets ou un objet indexé par identifiant ? Un montant arrive-t-il en nombre ou en chaîne — un piège classique des API qui renvoient "19.90" plutôt que 19.9 ? L'arborescence indique le type et le nombre d'éléments de chaque nœud, ce qu'un simple coup d'œil au texte brut ne donne pas. Troisième usage, plus prosaïque : comparer deux réponses pour comprendre pourquoi l'une passe et l'autre échoue.

Formater réécrit le texte avec une indentation lisible sans en changer le contenu. Valider vérifie que la syntaxe est correcte et signale l'endroit exact de l'erreur. Explorer, ce que fait cet outil, travaille sur la structure une fois le document parsé : arborescence pliable, type et taille de chaque nœud, et surtout le chemin d'accès exact d'une valeur, à recopier dans votre code. Le formatteur JSON de Toolyz couvre les deux premiers usages.

La notation d'accès JavaScript, pas la syntaxe JSONPath. Concrètement : un point pour une clé d'objet (a.b), des crochets avec un entier pour un index de tableau (a[0]), des crochets avec guillemets pour une clé contenant un espace ou un caractère spécial (a["clé avec espace"]). Les sélecteurs JSONPath comme $, .., * ou les filtres [?(...)] ne sont pas interprétés.

Le message vient de JSON.parse, la fonction native du navigateur. « position » est un décalage en caractères depuis le début du document, pas un numéro de ligne : le caractère fautif est le 43e du texte collé. « Unexpected token } » signifie qu'une accolade fermante est arrivée là où le parseur attendait autre chose — le plus souvent une virgule finale juste avant. « Unexpected end of JSON input » indique au contraire un document tronqué : une accolade ou un crochet n'a jamais été refermé.

L'extraction ne renvoie tout simplement aucune valeur : elle ne lève jamais d'erreur et ne modifie pas votre document. C'est le cas si une clé n'existe pas, si un index dépasse la taille du tableau, ou si le chemin traverse une valeur qui n'est ni un objet ni un tableau (par exemple a.b.c alors que a.b est une chaîne).

Non. Le parsing, l'arborescence et l'extraction par chemin s'exécutent entièrement dans votre navigateur, en JavaScript. Aucune requête réseau ne contient votre document, et rien n'est conservé après la fermeture de l'onglet.

Autres outils · Développeur