JSON Flattener
Aplana JSON anidado en pares clave-valor planos con notación de punto.
Acerca de esta herramienta
El aplanamiento de JSON es el proceso de convertir una estructura JSON anidada en una representación de un solo nivel utilizando claves con notación de punto. Cuando trabajas con objetos anidados complejos provenientes de API, bases de datos o archivos de configuración, esta herramienta los transforma en pares clave-valor simples que son más fáciles de analizar, almacenar o exportar a formatos como CSV u hojas de cálculo.
Para usar JSON Flattener, simplemente pega el JSON anidado en el área de entrada y haz clic en el botón de aplanamiento. La herramienta convierte instantáneamente objetos multinivel y arrays en claves aplanadas donde las relaciones padre-hijo se representan con puntos, por ejemplo, "user.profile.email" en lugar de llaves anidadas. Luego puedes copiar el resultado directamente o exportarlo para usar en canalizaciones de datos, herramientas de informes o aplicaciones de hojas de cálculo.
Esta herramienta es invaluable para ingenieros de datos que transforman respuestas de API no estructuradas, desarrolladores que depuran estructuras de objetos complejas, y analistas que preparan datos para plataformas de BI que esperan esquemas aplanados. JSON Flattener respeta índices de arrays y separadores personalizados, lo que la hace flexible para diversos flujos de trabajo de transformación de datos.
Preguntas Frecuentes
Implementación de Código
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.