Pasar JSON anidado a pares de ruta y valor
Elige aplanar o reconstruir y pega la entrada correspondiente. Revisa claves numéricas y rutas superpuestas al recuperar los datos anidados.
Se ejecuta localmente en tu navegador
Elige aplanar o reconstruir y pega la entrada correspondiente. Revisa claves numéricas y rutas superpuestas al recuperar los datos anidados.
Se ejecuta localmente en tu navegador
Pega un documento JSON, elige Aplanar o Restaurar y pulsa Ejecutar. Aplanar convierte cada valor final en una ruta como user.profile.roles.0; Restaurar lee un objeto plano de rutas y reconstruye el documento anidado. El separador puede ser un punto o una barra, y una clave que contiene el separador se escapa con una barra invertida, de modo que user.profile.roles.0 y una clave literal «a.b» siguen siendo distinguibles.
Todo se ejecuta en la página con JavaScript del navegador, no se sube nada y el resultado se puede copiar o descargar como kivtools-json-flatten.json o kivtools-json-unflatten.json.
Los valores se copian sin cambiar de tipo: las cadenas siguen siendo cadenas, los números números y null sigue siendo null. Las claves que en JavaScript parecen peligrosas — __proto__, constructor, prototype — aquí son claves de datos normales: la herramienta crea objetos sin prototipo, así que aplanar {"__proto__": 1} conserva la ruta “__proto__” y restaurarla reconstruye la misma clave.
Los objetos y arrays vacíos se conservan por defecto. Desactiva «Conservar objetos y arrays vacíos» para descartarlos; la métrica indica cuántos contenedores se descartaron: 2 para {"keep":{},"drop":[],"value":1}.
Restaurar reconstruye un array solo cuando un nodo tiene exactamente las claves numéricas densas 0…n-1, que es lo que deja un array real al aplanarse. Las rutas dispersas como 0 y 2, o un nodo que mezcla 0, 1 y x, se quedan como claves de objeto: no se pierde ninguna clave ni se inventan huecos null.
Una ruta que necesita la misma clave de dos formas se avisa en lugar de sobrescribirse en silencio: el objeto plano {"a":1,"a.b":2} responde «La ruta «a.b» entra en conflicto con una clave anterior.» y la salida anterior se borra para que un resultado viejo no se confunda con la nueva ejecución.
Aplanar recorre el documento de forma iterativa: un valor anidado 20.000 niveles se convierte en una sola ruta sin desbordar la pila. Reconstruir un documento así alcanza el límite del escritor JSON del navegador, y entonces la herramienta muestra su mensaje localizado de anidamiento excesivo en lugar de un error del motor.
Los errores de sintaxis JSON conservan el detalle de posición del motor (por ejemplo «line 1 column 9») tras un prefijo localizado, que es lo que permite corregir un pegado mal formado. Las descargas se llaman kivtools-json-flatten.json o kivtools-json-unflatten.json según el modo.