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

So verwendest du JSON Flatten / Unflatten

  1. Wähle mit dem Modus-Umschalter Flatten oder Unflatten.
  2. Füge dein JSON in das Eingabe-Panel auf der linken Seite ein.
  3. Setze das Trennzeichen und für Flatten den Array-Schlüsselstil, wenn du keine Standardwerte möchtest.
  4. 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

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

Alle ArrayKit-Tools