JSON Flattener
Appiattisci il JSON annidato in coppie chiave-valore piatte con notazione a punto.
Informazioni sullo strumento
L'appiattimento di JSON è il processo di conversione di una struttura JSON annidata in una rappresentazione a livello singolo utilizzando chiavi con notazione a punti. Quando lavori con oggetti annidati complessi da API, database o file di configurazione, questo strumento li trasforma in semplici coppie chiave-valore più facili da analizzare, archiviare o esportare in formati come CSV o fogli di calcolo.
Per utilizzare JSON Flattener, incolla semplicemente il JSON annidato nell'area di input e fai clic sul pulsante di appiattimento. Lo strumento converte istantaneamente oggetti multilivello e array in chiavi appiattite dove le relazioni genitore-figlio sono rappresentate da punti, ad esempio "user.profile.email" invece di parentesi graffe annidate. Puoi quindi copiare il risultato direttamente o esportarlo per l'uso in pipeline di dati, strumenti di reporting o applicazioni di fogli di calcolo.
Questo strumento è prezioso per ingegneri di dati che trasformano risposte API non strutturate, sviluppatori che eseguono il debug di strutture di oggetti complesse e analisti che preparano dati per piattaforme BI che si aspettano schemi appiattiti. JSON Flattener rispetta gli indici di array e i separatori personalizzati, rendendolo flessibile per vari flussi di lavoro di trasformazione dei dati.
Domande Frequenti
Implementazione del Codice
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.