Zum Inhalt springen
jsonbeautifiers
Deutsch

JSON-Viewer

Ein aufklappbarer Baum mit dem JSON-Pfad jedes Knotens, gebaut für große Dateien.

Eingabe
Struktur

Nichts, was Sie einfügen, verlässt Ihren Browser. Die connect-src Erlaubnisliste macht daraus eine Garantie des Browsers statt eines Versprechens. Selbst überprüfen

Eine Baumansicht dient dazu, ein Payload zu erkunden, das Sie nicht geschrieben haben. Klappen Sie zu, was Sie nicht interessiert, klappen Sie auf, was Sie interessiert, und kopieren Sie den Pfad zu jedem Wert, um ihn im Code zu erreichen.

Sie ist für große Dokumente gebaut. Knoten werden erst gerendert, wenn ihr Elternknoten aufgeklappt ist - eine zugeklappte 10-MB-Datei kostet also die Länge ihrer Wurzel und nicht ihre Knotenzahl.

Was der Baum zeigt

Über die Struktur hinaus ein paar Dinge, die im rohen Text schwer zu sehen sind.

Den Pfad jedes Knotens
In der normalisierten Form nach RFC 9535, also direkt in den JSONPath-Tester einfügbar. Fahren Sie über eine Zeile und kopieren Sie ihn.
Anzahl der Kinder
Ein zugeklapptes Objekt nennt die Zahl seiner Schlüssel, ein Array die Zahl seiner Elemente. Sie können die Gestalt beurteilen, ohne aufzuklappen.
Doppelte Schlüssel
Direkt markiert. In rohem Text ist ein Duplikat fünfhundert Zeilen von seinem Zwilling entfernt praktisch unsichtbar.
Zahlen, die Genauigkeit verloren haben
Am exakten Wert markiert. Eine Ganzzahl über 2^53-1 wird mit ihren ursprünglichen Ziffern angezeigt, mit dem Hinweis, dass die meisten Parser sie nicht so lesen werden.

Tastaturbedienung

Der Baum ist ein echter ARIA-Baum und kein Haufen anklickbarer Elemente, also funktioniert er so, wie ein Baum funktionieren soll: Pfeiltasten bewegen und klappen auf, Pos1 und Ende springen an die Enden, Eingabe und Leertaste schalten um. Er ist ohne Maus erreichbar und bedienbar und meldet sich korrekt an einen Screenreader.

Das ist in dieser Kategorie ungewöhnlich, was mehr über die Kategorie aussagt als über uns.

Wann der Baum, wann der rohe Text

Der Baum ist besser zur Orientierung: Welche Gestalt hat das, wo ist das Feld, das ich brauche, wie tief geht es. Roher Text ist besser zum Bearbeiten und zum Suchen, und der Editor behält die Volltextsuche mit Strg+F.

Für alles, was Sie wiederholt abfragen wollen, gehen Sie besser zum JSONPath-Tester. Einen Ausdruck schreiben, null Treffer sehen und nachjustieren ist eine schnellere Schleife als sich durch einen Baum zu klicken.

How to do this in code

Ein Payload vom Terminal aus erkunden, wenn kein Browser zur Hand ist.

sh jq

Der letzte Befehl ist der schnellste Weg, bei einer großen Datei die Frage „welche Felder hat das Ding“ zu beantworten.

# Top-level keys
jq 'keys' data.json

# The shape, without the values
jq 'walk(if type == "object" then map_values("...") else . end)' data.json

# Every distinct path in the document
jq -r 'paths | join(".")' data.json | sort -u
py Python
import json

with open('data.json') as f:
    data = json.load(f)

def walk(node, path=''):
    if isinstance(node, dict):
        for k, v in node.items():
            yield from walk(v, f'{path}.{k}')
    elif isinstance(node, list):
        for i, v in enumerate(node):
            yield from walk(v, f'{path}[{i}]')
    else:
        yield path, node

for path, value in walk(data):
    print(path, '=', value)
js Node

Ohne depth: null kürzt Node nach zwei Ebenen und druckt für den Rest [Object].

// console.dir gives you a collapsible tree in the terminal
console.dir(JSON.parse(text), { depth: null, colors: true });

Häufige Fragen

Wie große Dateien lassen sich öffnen?
Die Grenze ist nicht das Parsen, sondern der Speicher. Ein 10-MB-Dokument baut einen Baum von etwa 294 MB - auf einem Desktop bequem, auf einem Telefon knapp. Oberhalb von rund 25 MB merkt man es. Der Baum wird nur gebaut, wenn diese Seite ihn braucht, deshalb verarbeiten Formatierer und Validator deutlich größere Dateien.
Warum klappen nur einige Zweige auf einmal auf?
„Alles aufklappen“ ist bewusst auf sechs Ebenen begrenzt. Jeden Knoten eines großen Dokuments aufzuklappen erzeugt Hunderttausende Zeilen und hilft niemandem.
Kann ich im Baum bearbeiten?
Nein. Bearbeitet wird im Textbereich, der Rückgängig, Suche und volle Tastaturunterstützung hat. Ein Baumeditor ist ein anderes Produkt und ein schlechterer Texteditor.