Ordenar claves JSON

Reordena claves alfabéticamente, también en objetos anidados.

{{ jsonSort.message }}

Descripción

Cuando dos JSONs representan los mismos datos con las claves en distinto orden, un diff textual muestra diferencias falsas donde no existe ninguna diferencia semántica. Esto ensucia las revisiones de pull request, rompe comparaciones automáticas en tests de snapshot y complica auditorías. Ordenar las claves antes de guardar elimina ese ruido y hace que los diffs sean realmente útiles.

El ordenamiento es recursivo: las claves de objetos anidados también se ordenan, y los arrays de objetos tienen las claves de cada elemento reordenadas individualmente. Los arrays de valores simples como cadenas o números no se reordenan, porque la posición de los elementos en un array es semánticamente significativa en la mayoría de los casos.

En proyectos con archivos JSON persistidos, como mocks de API, fixtures de pruebas y archivos de traducción i18n, mantener las claves ordenadas como convención del equipo facilita la revisión de código y reduce conflictos de merge cuando varios colaboradores o herramientas editan el mismo archivo. Algunos equipos lo imponen mediante lint con prettier, que puede ordenar claves JSON automáticamente al guardar.

Una nota técnica: la especificación ECMAScript no garantiza el orden de las claves en los objetos. En la práctica, sin embargo, todos los motores modernos como V8, SpiderMonkey y JavaScriptCore preservan el orden de inserción para claves de cadena no numéricas. Tras ordenar y volver a parsear, el orden se mantiene. Para comunicación entre máquinas esto es irrelevante, pero para la lectura humana y los diffs marca toda la diferencia.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Efecto — {"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Guía de la herramienta

  • Qué es JSON Ver arriba. En objetos JSON, el orden de las claves no tiene significado semántico fijo en la especificación, pero afecta a los diffs y a la lectura.

  • Qué hace la herramienta Recorre objetos (incluidos anidados) y ordena las claves alfabéticamente. Los arrays mantienen el orden de los elementos.

  • Por qué usarla Diffs estables entre versiones de un archivo, menos ruido en revisiones y comparaciones automáticas de configuración.

Fragmentos de Código

Ejemplo de código
{"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Efecto

{"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.