Ordenador de Claves JSON
Ordena alfabéticamente las claves de cada objeto en un documento JSON, de forma recursiva — hace los diffs más limpios y las configuraciones más fáciles de revisar.
917 visitas
Cómo Funciona
Pega tu JSON y todas las claves de cada objeto vuelven ordenadas alfabéticamente. Lo importante es que este ordenamiento es recursivo: la herramienta no se limita a reordenar las claves del objeto de nivel superior y detenerse ahí — entra en cada objeto anidado, a cualquier profundidad, y alfabetiza cada uno de forma independiente. Ordenar solo el nivel más externo dejaría intacta la estructura interna de un documento, lo cual anularía el propósito para cualquier cosa más compleja que un objeto plano; el JSON del mundo real (respuestas de API, archivos de configuración) casi siempre está anidado varios niveles.
Por ejemplo, dado {"user":{"zip":"1","name":"A"},"active":true}, la herramienta no solo mueve active antes que user en el nivel superior — también entra en el objeto user y coloca name antes que zip, produciendo {"active":true,"user":{"name":"A","zip":"1"}}. Los arrays se dejan intactos: su orden de elementos se conserva exactamente, ya que el orden de un array tiene significado semántico (los arrays están ordenados por definición), mientras que el orden de las claves de un objeto, según la especificación JSON, no lo tiene.
Qué Debes Saber
El caso de uso principal es hacer que los diffs y las comparaciones de control de versiones tengan sentido. Dos documentos JSON que contienen datos idénticos pero fueron serializados con las claves en distinto orden producen un diff de texto enorme y ruidoso si se comparan directamente — cada línea se ve diferente aunque en realidad nada haya cambiado. Pasar ambos primero por este ordenador elimina ese ruido: con las claves en el mismo orden alfabético, un diff de texto plano muestra solo los cambios de contenido genuinos, no un reordenamiento incidental. Es igualmente útil para editar archivos de configuración a mano o para hacer que una respuesta de API poco familiar sea más fácil de revisar.
Preguntas Frecuentes
¿Esto cambia los datos, o solo el orden?
Solo cambia el orden de las claves — los valores, el anidamiento y el contenido de los arrays permanecen intactos. Los objetos JSON no tienen orden según la especificación, así que esta es siempre una transformación segura que no rompe nada.
¿El ordenamiento se aplica a los objetos anidados, o solo al nivel superior?
Es totalmente recursivo — cada objeto, a cualquier profundidad de anidamiento, tiene sus propias claves alfabetizadas de forma independiente, no solo el más externo. Ordenar solo el nivel superior dejaría los objetos internos en su orden original, posiblemente inconsistente.
¿Qué pasa si mi JSON no es válido?
Obtienes un error de análisis claro en lugar de un fallo silencioso — corrige el problema de sintaxis que se señala e inténtalo de nuevo.
¿También ordena los arrays?
No — el orden de los elementos del array se conserva exactamente, ya que los arrays están ordenados por definición y reordenarlos cambiaría su significado. Solo se alfabetizan las claves de los objetos.
¿Por qué debería ordenar las claves de JSON antes de comparar dos archivos?
Las herramientas de diff de texto plano comparan línea por línea, así que dos archivos JSON con datos idénticos pero claves en distinto orden se ven casi por completo diferentes en un diff aunque nada relevante haya cambiado. Ordenar las claves de ambos archivos de la misma manera elimina ese ruido, dejando un diff que refleja solo los cambios de contenido reales.
Herramientas Similares
Reportar un Problema
Ordenador de Claves JSON
Comentarios
Aún no hay comentarios — ¡sé el primero en escribir uno!