JSON Flattener
Flache verschachtelte JSON in flache Schlüssel-Wert-Paare mit Punkt-Notation ab.
Über dieses Tool
Das Vereinfachen von JSON ist der Prozess der Umwandlung einer verschachtelten JSON-Struktur in eine Einzelebenen-Darstellung mit Punkt-Notation-Schlüsseln. Wenn Sie mit komplexen verschachtelten Objekten aus APIs, Datenbanken oder Konfigurationsdateien arbeiten, wandelt dieses Tool sie in einfache Schlüssel-Wert-Paare um, die leichter zu analysieren, zu speichern oder in Formate wie CSV oder Tabellenkalkulationen zu exportieren sind.
Um den JSON Flattener zu verwenden, fügen Sie einfach das verschachtelte JSON in den Eingabebereich ein und klicken Sie auf die Schaltfläche "Vereinfachen". Das Tool konvertiert sofort mehrstufige Objekte und Arrays in vereinfachte Schlüssel, bei denen Parent-Child-Beziehungen durch Punkte dargestellt werden – beispielsweise "user.profile.email" anstelle von verschachtelten Klammern. Anschließend können Sie das Ergebnis direkt kopieren oder es zur Verwendung in Datenpipelines, Reporting-Tools oder Tabellenkalkulationsanwendungen exportieren.
Dieses Tool ist für Dateningenieure, die unstrukturierte API-Antworten transformieren, für Entwickler, die komplexe Objektstrukturen debuggen, und für Analysten, die Daten für BI-Plattformen vorbereiten, die vereinfachte Schemas erwarten, von unschätzbarem Wert. Der JSON Flattener berücksichtigt Array-Indizes und benutzerdefinierte Trennzeichen und ist daher flexibel für verschiedene Datentransformations-Workflows einsetzbar.
Häufig gestellte Fragen
Code-Implementierung
def flatten(obj, prefix="", sep="."):
"""Flatten a nested dict into dot-notation keys."""
result = {}
if isinstance(obj, dict):
for key, value in obj.items():
new_key = f"{prefix}{sep}{key}" if prefix else key
if isinstance(value, (dict, list)):
result.update(flatten(value, new_key, sep))
else:
result[new_key] = value
elif isinstance(obj, list):
for i, value in enumerate(obj):
new_key = f"{prefix}{sep}{i}" if prefix else str(i)
if isinstance(value, (dict, list)):
result.update(flatten(value, new_key, sep))
else:
result[new_key] = value
else:
result[prefix] = obj
return result
def unflatten(flat, sep="."):
"""Reconstruct nested dict from dot-notation keys."""
result = {}
for key, value in flat.items():
parts = key.split(sep)
d = result
for part in parts[:-1]:
d = d.setdefault(part, {})
d[parts[-1]] = value
return result
# Example
nested = {"user": {"name": "Alice", "address": {"city": "Seoul"}}}
flat = flatten(nested)
print(flat) # {'user.name': 'Alice', 'user.address.city': 'Seoul'}
print(unflatten(flat)) # back to nestedComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.