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

Cómo usar JSON Flatten / Unflatten

  1. Elige Aplanar o Desanidar con el conmutador de modo.
  2. Pega tu JSON en el panel de entrada a la izquierda.
  3. Establece el delimitador y, para aplanar, el estilo de clave de arreglo si quieres valores distintos a los predeterminados.
  4. 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

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

Todas las herramientas de ArrayKit