#250 · Herramienta para desarrolladores

Herramienta para deshacer JSON plano

Reconstruye un JSON anidado a partir de un objeto plano cuyas claves usan puntos como separadores de ruta. Los segmentos numéricos se convierten en posiciones de array y las rutas incompatibles se detectan como conflicto. Sirve para revertir salidas de herramientas de flattening cuando las claves originales no contienen puntos literales ambiguos.

Datos de entrada

Entrada local
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega un objeto plano con rutas separadas por puntos.
  2. Ejecuta Reconstruir JSON.
  3. Comprueba arrays creados desde segmentos numéricos.
  4. Corrige cualquier conflicto de rutas antes de reutilizar el resultado.

Qué hace esta herramienta para desarrolladores

Divide cada clave plana por puntos y crea objetos o arrays intermedios según el tipo del siguiente segmento.

Divide cada clave plana por puntos y crea objetos o arrays intermedios según el tipo del siguiente segmento.

El procesamiento se ejecuta localmente en el navegador; revisa siempre el resultado antes de usarlo sobre datos de producción.

Ejemplo

Entrada de ejemplo

{"usuario.nombre":"Ana","usuario.direccion.ciudad":"Madrid","usuario.direccion.cp":"28001","roles.0":"admin","roles.1":"editor","activo":true}

Resultado esperado

Divide cada clave plana por puntos y crea objetos o arrays intermedios según el tipo del siguiente segmento.

Casos de uso

  • Reconstruir configuraciones almacenadas como claves planas.
  • Revertir una operación de flatten con separador de puntos.
  • Transformar variables jerárquicas en JSON utilizable.

Consejos para obtener resultados fiables

  • Usa claves sin puntos literales si necesitas reversibilidad.
  • Mantén índices de array contiguos cuando sea posible.
  • Evita definir a la vez una ruta escalar y sus subrutas.
  • Compara el resultado con el JSON original después de una ida y vuelta.

Detalles del procesamiento

Divide cada clave plana por puntos y crea objetos o arrays intermedios según el tipo del siguiente segmento. La herramienta usa APIs estándar de JavaScript y no realiza solicitudes externas para ejecutar la función principal.

El formato asume que el punto separa niveles. Una clave literal que contenga un punto no puede distinguirse sin una convención de escape adicional.

Preguntas frecuentes

¿Cómo decide la herramienta cuándo crear un array?

Si el siguiente segmento de una ruta es un entero no negativo, crea un array para ese nivel.

¿Qué ocurre si dos rutas son incompatibles?

Se devuelve un error cuando una ruta necesita tratar como contenedor un valor que ya es escalar.

¿Puede reconstruir claves que contienen puntos literales?

No de forma inequívoca con esta convención, porque el punto ya actúa como separador.

¿Los índices de array tienen que empezar en cero?

No es obligatorio, pero huecos grandes pueden producir posiciones vacías y suelen indicar una ruta mal formada.

¿Es reversible cualquier operación de flatten?

Solo si el formato plano conserva suficiente información sobre separadores, arrays y claves originales.

Resumen técnico

AspectoComportamiento
EntradaJSON estructurado
ProcesamientoDivide cada clave plana por puntos y crea objetos o arrays intermedios según el tipo del siguiente segmento.
SalidaJSON reconstruido