Fügen Sie JSON ein, um verschachtelte Werte bei sichtbarer Quelle zu erkunden. XML-Eingaben werden nach den Zuordnungsregeln des Werkzeugs konvertiert.
Läuft lokal in deinem BrowserDas Dokument, das Sie links einfügen, wird beim Tippen ausgewertet und rechts als farbiger Baum gezeichnet: Schlüssel, Zeichenketten, Zahlen, true/false und null haben je eine eigene Farbe, und jedes Objekt und Array trägt eine Markierung, die es zu Object{…} oder Array[n] einklappt. Einen Startknopf gibt es nicht — beide Bereiche bleiben beim Bearbeiten im Gleichschritt.
Alles läuft im Tab: den Text wertet JavaScript im Browser aus und zeichnet ihn; keine Anfrage trägt ihn irgendwohin. Text, der mit < beginnt und mit > endet, wird als XML behandelt und vorher umgewandelt.
Der Baum entsteht aus dem ausgewerteten Dokument, nicht aus dem Text: Schlüssel behalten ihre Reihenfolge, Werte werden nach Typ eingefärbt. Einklappen ersetzt einen Zweig durch seine Markierung, und die Markierung eines Arrays zeigt zusätzlich, wie viele Elemente es enthält.
Zeichenketten, die genau eine http://- oder https://-Adresse ohne Leerzeichen sind, werden zu Links. Auszeichnung innerhalb eines Schlüssels oder einer Zeichenkette wird als Text ausgegeben und nicht interpretiert, ein Dokument kann also keine Elemente in die Seite einschleusen.
Der Parser ist striktes JSON: Kommentare, abschließende Kommas, Schlüssel in einfachen Anführungszeichen, NaN und Zahlen mit führender Null werden abgelehnt. Ein abgelehntes Dokument wird mit Zeilennummer, einem Ausschnitt mit Marke unter der Position und dem erwarteten Token gemeldet.
Doppelte Schlüssel behalten den letzten Wert. Zahlen werden als JavaScript-Zahlen gelesen, was an den Rändern sichtbar wird: Ziffern jenseits der 15–16 signifikanten Stellen eines double werden gerundet (12345678901234567890 erscheint als 12345678901234567000), 1e21 erscheint als 1e+21, und ein Wert außerhalb des double-Bereichs wie 1e400 erscheint als Infinity im Baum und als null in der kompakten Ansicht, denn diese Ansicht ist die Ausgabe von JSON.stringify.
XML wird mit den eigenen Konventionen des Werkzeugs umgewandelt: Attribute werden zu @name-Schlüsseln, wiederholte Geschwisterelemente zu Arrays, CDATA zu Text, Deklaration und Kommentare entfallen. Ein Element, das Text und Kindelemente enthält, behält die Kinder und legt den umgebenden Text unter dem Schlüssel #text ab.
Die XML-Ansicht schreibt das aktuelle Dokument als XML zurück. Text und Attributwerte werden maskiert, für XML unzulässige Elementnamen werden zu zulässigen (Leerzeichen oder führende Ziffer werden zum Unterstrich) und ein #text-Schlüssel wird als Text geschrieben, nicht als Tag. Das Ergebnis ist schreibgeschützter Text, den Sie markieren und kopieren können.
Die Seite setzt keine Größenbegrenzung, aber der Baum ist echtes Markup, große Dokumente wiegen also schwer: eine Probe von 1,1 MB erzeugte rund 25 MB Markup und brauchte fast eine Sekunde. Einige tausend Zeilen bleiben flüssig: das Neuzeichnen eines Dokuments mit 300 Zeilen bei jedem Tastendruck dauerte in Chrome nach dem ersten Durchlauf 6 bis 15 ms.
Nichts wird gespeichert: nach dem Neuladen steht wieder die Probe im linken Feld, und Leeren macht beide Bereiche leer.