JSON Flatten / Unflatten
Flache verschachteltes JSON zu Schlüsseln in Punktnotation, oder mach es wieder rückgängig, sofort in deinem Browser. Deine Daten bleiben auf deinem Gerät.
Dein JSON wird lokal in deinem Browser geflacht und entflacht und nie hochgeladen, aber vermeide es, Geheimnisse einzufügen, die du nicht in deinem Zwischenablage-Verlauf haben möchtest.
Zuerst verschönern? Probiere den JSON Formatter.
Über JSON Flatten / Unflatten
Dieses JSON-Flatten-Tool reduziert ein verschachteltes JSON-Objekt auf eine Map mit einer einzigen Ebene, deren Schlüssel Pfade in Punktnotation sind, sodass aus {"a":{"b":1},"arr":[10,20]} {"a.b":1,"arr.0":10,"arr.1":20} wird. Wechsle zu Unflatten, und es baut die ursprüngliche verschachtelte Struktur aus diesen flachen Pfaden wieder auf. Flache Schlüssel/Wert-Formen lassen sich leicht diffen, in .env- oder Konfigurationsdateien speichern, auf Tabellenspalten abbilden oder in Formular-Bibliotheken einspeisen, die nach Pfad indexieren. Du kannst das Trennzeichen vom standardmäßigen Punkt auf alles ändern, was du möchtest, und wählen, ob Array-Indizes als arr.0 oder im Klammerstil als arr[0] gelesen werden. Objektschlüssel, Arrays, primitive Werte, null und leere Container werden alle behandelt, und der Hin- und Rückweg ist verlustfrei. Alles läuft vollständig in deinem Browser, sodass das eingefügte JSON lokal verarbeitet wird und dein Gerät nie verlässt.
Funktionen
- Flache verschachtelte Objekte und Arrays zu Schlüsseln in Punktnotation auf einer Ebene
- Mache flache Pfad/Wert-Paare zurück in das ursprüngliche verschachtelte JSON
- Wähle ein beliebiges Schlüssel-Trennzeichen – der Standard ist ein Punkt (.)
- Wähle Punkt-Indizes (arr.0) oder Klammer-Indizes (arr[0]) für Arrays
- Verlustfreier Hin- und Rückweg: Flatten und dann Unflatten ergibt identisches JSON
- Behandelt primitive Werte, null sowie leere Objekte und Arrays als Blattwerte
- Live-Zweispaltenansicht mit Parse-Fehlern, die beim Tippen inline angezeigt werden
- Kopiere das Ergebnis oder lade es als flat.json oder nested.json herunter
So verwendest du JSON Flatten / Unflatten
- Wähle mit dem Modus-Umschalter Flatten oder Unflatten.
- Füge dein JSON in das Eingabe-Panel auf der linken Seite ein.
- Setze das Trennzeichen und für Flatten den Array-Schlüsselstil, wenn du keine Standardwerte möchtest.
- Lies das konvertierte JSON auf der rechten Seite, dann kopiere oder lade es herunter.
Beispiel
Eingabe
{
"user": { "name": "Ada", "roles": ["admin", "dev"] },
"active": true
}
Ausgabe
{
"user.name": "Ada",
"user.roles.0": "admin",
"user.roles.1": "dev",
"active": true
}
Verschachtelte Objekte und Array-Elemente werden zu Schlüsseln in Punktnotation, die auf ihrem Index enden.
Häufige Fehler & Fehlerbehebung
- Unflatten meldet, dass es ein flaches JSON-Objekt aus Pfad/Wert-Paaren erwartet. — Unflatten benötigt ein Objekt mit einer Ebene wie {"a.b":1}; wechsle zu Flatten, wenn du stattdessen von verschachteltem JSON ausgehst.
- Unflatten erzeugt ein Objekt mit Schlüsseln "0", "1", wo du ein Array erwartet hast. — Array-Indizes müssen reine Ganzzahl-Segmente sein. Wenn dein Trennzeichen von den Schlüsseln abweicht, setze dasselbe Trennzeichen, damit 0 und 1 als Indizes gelesen werden.
- Beim Flatten gehen Werte verloren, wenn zwei Schlüssel kollidieren, z. B. ein wörtlicher Punkt in einem Schlüsselnamen. — Wähle ein Trennzeichen, das nicht in deinen Schlüsseln vorkommt (etwa / oder __), damit jeder Pfad eindeutig bleibt.
- Die Eingabe zeigt einen JSON-Parse-Fehler und es erscheint keine Ausgabe. — Behebe die hervorgehobene Syntax – JSON benötigt Schlüssel und Strings in doppelten Anführungszeichen und keine nachgestellten Kommas. Probiere Beispiel laden für einen gültigen Ausgangspunkt.
Häufig gestellte Fragen
- Wie werden Arrays geflacht?
- Jedes Array-Element wird zu einem eigenen Schlüssel, der auf dem Index des Elements endet, sodass arr[10, 20] zu {"arr.0":10,"arr.1":20} geflacht wird. Du kannst zum Klammerstil wechseln, um stattdessen arr[0] und arr[1] zu erhalten, und Unflatten liest beide Formen zurück in ein echtes Array.
- Kann ich das Schlüssel-Trennzeichen ändern?
- Ja. Das Trennzeichen ist standardmäßig ein Punkt, aber du kannst es auf ein beliebiges Zeichen oder einen kurzen String setzen – zum Beispiel / oder __. Verwende beim Unflatten dasselbe Trennzeichen, damit die Pfade korrekt zurückgeteilt werden.
- Ist Flatten und dann Unflatten verlustfrei?
- Für wohlgeformtes JSON ergibt der Hin- und Rückweg identische Daten: Objekte, Arrays, Strings, Zahlen, Booleans, null und leere Container bleiben alle erhalten. Das Einzige, was du vermeiden solltest, ist ein Trennzeichen, das auch wörtlich in einem Schlüsselnamen vorkommt.
- Was ist der Unterschied zwischen Punkt- und Klammer-Array-Schlüsseln?
- Es geht rein darum, wie Indizes geschrieben werden: Der Punktstil ergibt arr.0, während der Klammerstil arr[0] ergibt. Beide beschreiben dieselbe Array-Position, und der Unflatten-Schritt versteht beide Notationen, also wähle die, die deine anderen Tools erwarten.
- Warum sollte ich JSON flatten?
- Flache Pfad/Wert-Maps lassen sich leichter Zeile für Zeile diffen, in Umgebungs- oder Konfigurationsdateien speichern, als Tabellenspalten ausrichten und an Formularfelder binden, die nach Pfad indexiert sind. Mit Unflatten kannst du diese flache Form wieder in verschachteltes JSON umwandeln, wenn du es brauchst.
- Wird mein JSON irgendwohin hochgeladen?
- Nein. Flatten und Unflatten laufen vollständig in deinem Browser, sodass das eingefügte JSON lokal auf deinem Gerät verarbeitet und nie an einen Server gesendet wird.
Verwandte Tools
- JSON-Formatierer — JSON verschönern, minimieren und validieren – mit Fehlerposition.
- JSON-Viewer — Text- und einklappbare Baumansicht mit Ein-/Ausklappen und Knotenpfaden.
- JSON zu CSV — Konvertiere ein Array flacher JSON-Objekte in CSV.
- JSON escapen / entescapen — Escape Text zu einem JSON-String oder entescape einen JSON-String zu reinem Text.
- JSON Diff — Vergleiche zwei JSON-Dokumente und sieh einen strukturellen Diff.
- YAML ↔ JSON — Konvertiere YAML zu JSON und zurück.
Alle ArrayKit-Tools