JSON Flatten / Unflatten
Aplana un JSON anidado en claves con notación de puntos, o vuelve a anidarlo, al instante en tu navegador. Tus datos se quedan en tu dispositivo.
Tu JSON se aplana y desanida localmente en tu navegador y nunca se sube, pero evita pegar secretos que no quisieras tener en el historial de tu portapapeles.
¿Necesitas embellecerlo primero? Prueba el Formateador de JSON.
Acerca de JSON Flatten / Unflatten
Esta herramienta de json flatten colapsa un objeto JSON anidado en un mapa de un solo nivel cuyas claves son rutas con notación de puntos, así {"a":{"b":1},"arr":[10,20]} se convierte en {"a.b":1,"arr.0":10,"arr.1":20}. Cambia a desanidar y reconstruye la estructura anidada original a partir de esas rutas planas. Las formas plana de clave/valor son fáciles de comparar, guardar en archivos .env o de configuración, mapear a columnas de hoja de cálculo o alimentar a librerías de formularios que indexan por ruta. Puedes cambiar el delimitador del punto por defecto a lo que prefieras, y elegir si los índices de arreglo se leen como arr.0 o con corchetes arr[0]. Las claves de objeto, los arreglos, los primitivos, null y los contenedores vacíos se manejan todos, y el viaje de ida y vuelta es sin pérdidas. Todo se ejecuta por completo en tu navegador, así que el JSON que pegas se procesa localmente y nunca sale de tu dispositivo.
Características
- Aplana objetos y arreglos anidados en claves de un solo nivel con notación de puntos
- Desanida pares de ruta/valor planos de vuelta al JSON anidado original
- Elige cualquier delimitador de clave; el predeterminado es un punto (.)
- Escoge índices con punto (arr.0) o con corchetes (arr[0]) para los arreglos
- Viaje de ida y vuelta sin pérdidas: aplanar y luego desanidar devuelve un JSON idéntico
- Maneja primitivos, null y objetos y arreglos vacíos como valores hoja
- Vista en dos paneles en vivo con los errores de análisis mostrados en línea mientras escribes
- Copia el resultado o descárgalo como flat.json o nested.json
Cómo usar JSON Flatten / Unflatten
- Elige Aplanar o Desanidar con el conmutador de modo.
- Pega tu JSON en el panel de entrada a la izquierda.
- Establece el delimitador y, para aplanar, el estilo de clave de arreglo si quieres valores distintos a los predeterminados.
- Lee el JSON convertido a la derecha, luego Copia o descárgalo.
Ejemplo
Entrada
{
"user": { "name": "Ada", "roles": ["admin", "dev"] },
"active": true
}
Salida
{
"user.name": "Ada",
"user.roles.0": "admin",
"user.roles.1": "dev",
"active": true
}
Los objetos anidados y los elementos de arreglo se convierten en claves con notación de puntos que terminan en su índice.
Errores comunes y solución de problemas
- Desanidar indica que espera un objeto JSON plano de pares ruta/valor. — Desanidar necesita un objeto de un solo nivel como {"a.b":1}; cambia a Aplanar si en cambio partes de un JSON anidado.
- Desanidar produce un objeto con claves "0", "1" donde esperabas un arreglo. — Los índices de arreglo deben ser segmentos de enteros simples. Si tu delimitador difiere del de las claves, establece el mismo delimitador para que 0 y 1 se lean como índices.
- Al aplanar se pierden valores cuando dos claves chocan, por ejemplo un punto literal dentro de un nombre de clave. — Elige un delimitador que no aparezca dentro de tus claves (como / o __) para que cada ruta quede sin ambigüedad.
- La entrada muestra un error de análisis de JSON y no aparece ningún resultado. — Corrige la sintaxis resaltada; JSON necesita claves y cadenas entre comillas dobles y sin comas finales. Prueba Cargar ejemplo para tener un punto de partida válido.
Preguntas frecuentes
- ¿Cómo se aplanan los arreglos?
- Cada elemento de arreglo se convierte en su propia clave que termina en el índice del elemento, así arr[10, 20] se aplana a {"arr.0":10,"arr.1":20}. Puedes cambiar al estilo con corchetes para obtener arr[0] y arr[1], y desanidar lee cualquiera de las dos formas de vuelta a un arreglo real.
- ¿Puedo cambiar el delimitador de clave?
- Sí. El delimitador es un punto por defecto, pero puedes establecerlo a cualquier carácter o cadena corta, por ejemplo / o __. Usa el mismo delimitador al desanidar para que las rutas se dividan de vuelta correctamente.
- ¿Aplanar y luego desanidar es sin pérdidas?
- Para un JSON bien formado, el viaje de ida y vuelta devuelve datos idénticos: objetos, arreglos, cadenas, números, booleanos, null y contenedores vacíos se preservan todos. Lo único que hay que evitar es un delimitador que también aparezca literalmente dentro de un nombre de clave.
- ¿Cuál es la diferencia entre las claves de arreglo con punto y con corchetes?
- Es puramente cómo se escriben los índices: el estilo con punto da arr.0 mientras que el de corchetes da arr[0]. Ambos describen la misma posición del arreglo, y el paso de desanidar entiende cualquiera de las dos notaciones, así que elige la que esperen tus otras herramientas.
- ¿Por qué querría aplanar un JSON?
- Los mapas planos de ruta/valor son más fáciles de comparar línea por línea, guardar en archivos de entorno o configuración, alinear como columnas de hoja de cálculo y enlazar a campos de formulario indexados por ruta. Desanidar te permite volver a convertir esa forma plana en JSON anidado cuando lo necesites.
- ¿Se sube mi JSON a algún lugar?
- No. Aplanar y desanidar se ejecutan por completo en tu navegador, así que el JSON que pegas se procesa localmente en tu dispositivo y nunca se envía a un servidor.
Herramientas relacionadas
- Formateador de JSON — Embellece, minimiza y valida JSON con la ubicación de los errores.
- Visor de JSON — Visor de texto y árbol plegable con expandir/contraer y rutas de nodos.
- JSON a CSV — Convierte un arreglo de objetos JSON planos a CSV.
- Escapar / Desescapar JSON — Escapa texto a una cadena JSON o desescapa una cadena JSON a texto sin formato.
- JSON Diff — Compara dos documentos JSON con un diff estructural por rutas.
- YAML ↔ JSON — Convierte YAML a JSON y de vuelta.
Todas las herramientas de ArrayKit