JSON Flatten / Unflatten
Vereinfachen Sie verschachtelte JSON-Objekte zu Punkt-Notation-Schlüsseln (z. B. user.address.city) und vereinfachen Sie sie zurück. Konfigurierbarer Trennzeichen und Array-Verarbeitung.
Flattened Output
12 keys{
"user.id": 42,
"user.name": "Alice",
"user.roles.0": "admin",
"user.roles.1": "editor",
"user.address.city": "Berlin",
"user.address.country": "Germany",
"user.address.zip": "10115",
"user.preferences.theme": "dark",
"user.preferences.notifications.email": true,
"user.preferences.notifications.sms": false,
"meta.version": "1.0",
"meta.created": "2024-01-15"
}So verwenden Sie JSON Flatten / Unflatten
- 1Fügen Sie ein verschachteltes JSON-Objekt in die Eingabe ein.
- 2Wählen Sie Flatten, um in Punkt-Notation-Schlüssel zu konvertieren, oder Unflatten, um zurück zu konvertieren.
- 3Konfigurieren Sie das Trennzeichen und kopieren Sie das Ergebnis.
ZenovayAnalytics
Sehen Sie, wer gerade auf Ihrer Seite ist.
- Besucher-Tracking in Echtzeit
- Datenschutz zuerst, kein Cookie-Banner
- In zwei Minuten eingerichtet
Verwandte Tools
JSON-Formatter und Validator
Formatieren, validieren und verschönern Sie JSON-Daten mit Syntaxhervorhebung und Fehlererkennung.JWT-Decoder
Dekodieren und inspizieren Sie JWT-Token. Zeigen Sie Header, Payload und überprüfen Sie Signaturen.Base64 Encode/Decode
Kodieren Sie Text in Base64 oder dekodieren Sie Base64 zurück in Text. Unterstützt UTF-8 und Binärdaten.URL Codierungstool
Codieren oder decodieren Sie URL-Komponenten. Verarbeiten Sie Sonderzeichen, Abfragezeichenfolgen und vollständige URLs.Häufig gestellte Fragen
Was ist JSON-Flattening und wann ist es nützlich?▾
JSON-Flattening konvertiert verschachtelte Objekte in ein Objekt auf einer Ebene, wobei verschachtelte Schlüssel mit einem Trennzeichen (normalerweise Punkt) verbunden werden. Beispiel: {"user": {"name": "Alice", "address": {"city": "Berlin"}}} → {"user.name": "Alice", "user.address.city": "Berlin"}. Anwendungsfälle: Flattening für die Speicherung in Datenbankspalten (NoSQL-zu-SQL-Migration), Vereinfachung stark verschachtelter API-Antworten, Einspeisen in Machine-Learning-Pipelines, die tabellarische Daten erwarten, Elasticsearch-Dokument-Indizierung und Versand von Analyseereignissen mit flachen Eigenschaften.
Wie funktioniert Array-Flattening?▾
Arrays werden mit ihrem Index als Teil des Schlüssels flatten. Beispiel: {"tags": ["js", "ts"]} → {"tags.0": "js", "tags.1": "ts"} mit Punkt-Trennzeichen oder {"tags[0]": "js", "tags[1]": "ts"} mit Klammer-Notation. Verschachtelte Arrays: {"matrix": [[1,2],[3,4]]} → {"matrix.0.0": 1, "matrix.0.1": 2, "matrix.1.0": 3, "matrix.1.1": 4}. Das Rekonstruieren von Arrays beim Unflatten erfordert das Wissen, welche Schlüssel numerische Indizes sind. Einige Tools bewahren die Array-Struktur beim Unflatten; andere konvertieren sie in Objekte.
Welche Trennzeichen werden häufig für flache Schlüssel verwendet?▾
Punkt (.): am häufigsten, intuitiv, Konflikte mit Schlüsseln, die Punkte enthalten. Unterstrich (_): vermeidet Konflikte mit Punkten, wird in einigen Datenbankkonventionen für Spaltennamen verwendet. Doppelter Unterstrich (__): vermeidet Konflikte mit einzelnen Unterstrichen, wird in Django-Umgebungsvariablen und Helm-Chartenwerten verwendet. Schrägstrich (/): wird in JSON Pointer (RFC 6901) verwendet — "/user/address/city". Doppelpunkt (:): wird in einigen Konfigurationssystemen verwendet. Beste Praktiken: Wählen Sie ein Trennzeichen, das nicht in Ihren bestehenden Schlüsselnamen vorkommt. Vermeiden Sie Punkte, wenn Schlüssel möglicherweise Paketnamen oder Domänennamen enthalten.
Was ist JSON Pointer (RFC 6901)?▾
JSON Pointer ist ein IETF-Standard (RFC 6901) für die Referenzierung eines bestimmten Werts innerhalb eines JSON-Dokuments. Format: /key/subkey/index. Root-Dokument: "". Erstes Array-Element: "/0". Verschachtelter Wert: "/user/address/city". Spezialzeichen: "~0" stellt "~" dar, "~1" stellt "/" dar. Verwendet in: JSON Patch (RFC 6902) für Teilaktualisierungen, JSON Schema $ref, OpenAPI-Pfadreferenzen. Beispiel: PATCH mit {"op": "replace", "path": "/user/address/city", "value": "London"} ändert einen verschachtelten Wert ohne das gesamte Dokument zu ersetzen.
Wie flatten ich JSON in JavaScript ohne eine Bibliothek?▾
function flatten(obj, prefix = "", sep = ".") { return Object.entries(obj).reduce((acc, [key, val]) => { const newKey = prefix ? prefix + sep + key : key; if (val && typeof val === "object" && !Array.isArray(val)) { Object.assign(acc, flatten(val, newKey, sep)); } else if (Array.isArray(val)) { val.forEach((item, i) => { if (item && typeof item === "object") { Object.assign(acc, flatten(item, newKey + sep + i, sep)); } else { acc[newKey + sep + i] = item; } }); } else { acc[newKey] = val; } return acc; }, {}); }. Für die Umkehrung (unflatten) teilen Sie jeden Schlüssel durch das Trennzeichen und rekonstruieren die verschachtelte Struktur.