Collez du JSON pour explorer les valeurs imbriquées sans perdre la source de vue. Le XML est aussi converti selon les conventions propres à l’outil.
Fonctionne localement dans votre navigateurLe document collé à gauche est analysé pendant la frappe et dessiné à droite sous forme d’arbre coloré : clés, chaînes, nombres, true/false et null ont chacun leur couleur, et chaque objet ou tableau porte un repère qui le replie en Object{…} ou Array[n]. Il n’y a pas de bouton d’exécution : les deux volets restent synchronisés pendant l’édition.
Tout se passe dans l’onglet : le texte est analysé et dessiné par JavaScript dans le navigateur et aucune requête ne le transporte. Un texte qui commence par < et se termine par > est traité comme du XML et converti avant.
L’arbre est construit à partir du document analysé, pas du texte : les clés gardent l’ordre du document et les valeurs sont colorées par type. Le repli remplace une branche par son repère, et le repère d’un tableau indique en plus le nombre d’éléments.
Les chaînes qui sont une seule adresse http:// ou https:// sans espace deviennent des liens. Le balisage présent dans une clé ou une chaîne est imprimé comme texte au lieu d’être interprété : un document ne peut donc pas injecter d’éléments dans la page.
L’analyseur est du JSON strict : commentaires, virgules finales, clés entre guillemets simples, NaN et nombres avec un zéro initial sont refusés. Un document refusé est signalé avec le numéro de ligne, un extrait avec un curseur sous la position et le jeton attendu.
Les clés en double gardent la dernière valeur. Les nombres sont lus comme des nombres JavaScript, ce qui se voit aux extrêmes : les chiffres au-delà des 15–16 chiffres significatifs d’un double sont arrondis (12345678901234567890 s’affiche 12345678901234567000), 1e21 s’affiche 1e+21, et une valeur hors du domaine d’un double, comme 1e400, apparaît en Infinity dans l’arbre et en null dans la vue compacte, car cette vue est la sortie de JSON.stringify.
Le XML est converti selon les conventions de l’outil : les attributs deviennent des clés @nom, les éléments frères répétés des tableaux, CDATA du texte, et la déclaration comme les commentaires sont écartés. Un élément qui contient du texte et des éléments enfants garde les enfants et place le texte qui les entoure sous la clé #text.
La vue XML réécrit le document courant en XML. Le texte et les valeurs d’attribut sont échappés, les noms que XML n’accepte pas deviennent valides (un espace ou un chiffre initial devient un souligné) et une clé #text est écrite comme texte, pas comme balise. Le résultat est un texte en lecture seule que vous pouvez sélectionner et copier.
La page ne fixe aucune limite de taille, mais l’arbre est du balisage réel : un document très volumineux pèse lourd — un échantillon de 1,1 Mo a produit environ 25 Mo de balisage et a demandé près d’une seconde. Quelques milliers de lignes restent fluides : redessiner un document de 300 lignes à chaque frappe a pris 6 à 15 ms dans Chrome après le premier passage.
Rien n’est conservé : un rechargement repart de l’échantillon du volet de gauche, et Effacer vide les deux volets.