Saltar al contenido
4all.tools

Ordena las claves de objetos JSON en tu navegador

Ordena claves de JSON estricto en ascendente o descendente, de forma recursiva o solo en la raíz, conservando arrays y números originales localmente.

Espacio de trabajo de la herramienta

Ordenar claves JSON

Activa JavaScript para ordenar JSON localmente en tu navegador.

Las claves usan orden textual UTF-16: "10" precede a "2" en ascendente. Ignorar mayúsculas pliega solo A–Z; É y é siguen siendo distintas. Solo raíz deja sin ordenar los objetos de una raíz array. Los arrays conservan las posiciones de sus elementos. Los espacios y escapes de strings pueden normalizarse.

Archivo: 4.000.000 bytes; entrada: 1.000.000 unidades UTF-16; profundidad: 200 contenedores; nodos: 100.000; salida: 2.000.000 unidades UTF-16.

Opciones de ordenación

Presupuestos: 1.000.000 unidades de parseo, 1.000.000 de serialización y 1.000.000 de ordenación. Los prefijos largos o la indentación pueden agotar un presupuesto antes del límite de tamaño. No se garantiza aceptar todos los máximos a la vez.

El procesamiento queda en tu navegador. Sin subidas, URLs remotas ni documentos guardados. No es canonicalización criptográfica ni JCS.

{"z":{"2":"dos","10":"diez"},"a":[{"b":2,"a":1}]}
Opciones de ordenación

Listo para ordenar.

    Ordena las claves con una acción explícita

    Pega JSON estricto o abre un archivo .json UTF-8. Pulsa Ordenar claves para generar un resultado separado. Los valores iniciales son ascendente, sensible a mayúsculas, recursivo y dos espacios con LF. También puedes elegir cuatro espacios, tabulador o salida minificada. Cargar un ejemplo o cambiar opciones no inicia el procesamiento.

    El ejemplo compartido es:

    {"z":{"2":"dos","10":"diez"},"a":[{"b":2,"a":1}]}

    Con las opciones iniciales:

    {
      "a": [
        {
          "a": 1,
          "b": 2
        }
      ],
      "z": {
        "10": "diez",
        "2": "dos"
      }
    }

    Orden textual, mayúsculas y alcance

    Se comparan claves decodificadas de forma ordinal por unidades UTF-16. Las claves numéricas se tratan como texto: "10" precede a "2" en ascendente. El orden sensible es A,B,a,b; Ignorar mayúsculas A–Z produce A,a,B,b, desempatando por la clave original. Descendente invierte todo el orden, incluido el desempate. No se pliegan acentos: É y é permanecen distintas y no se normaliza Unicode.

    Recursivo ordena todos los objetos, incluidos los que están dentro de arrays. Solo objeto raíz conserva la secuencia fuente de los objetos descendientes; si la raíz es un array, no ordena sus objetos. Los arrays conservan cantidad y posiciones. Las raíces primitivas y los objetos o arrays vacíos son válidos. Sin objetos elegibles se aplica el formato y aparece un aviso informativo.

    Conserva los valores y rechaza ambigüedades

    Strings, claves decodificadas, booleanos, null y estructuras conservan su valor. Los tokens numéricos originales 9007199254740993, 0.10000000000000001, -0 y 1E+02 se conservan exactamente. El aviso de precisión describe el valor interno aproximado del parser, no un redondeo de la salida. Los números fuera del rango del parser, como 1e400, fallan explícitamente.

    {"a":1,"\u0061":2} falla porque hay una clave decodificada duplicada; no se sobrescribe ninguna aparición silenciosamente. Se rechazan comentarios, JSONC, JSON5 y JSON mal formado. Se retira una firma BOM inicial con aviso; una segunda firma es error de sintaxis. La salida se reformatea con LF, sin BOM ni salto final; no conserva espacios ni la escritura exacta de escapes. No es JCS ni canonicalización criptográfica para firmas.

    Límites, exportación completa y procesamiento local

    El archivo admite hasta 4.000.000 bytes originales. La entrada admite 1.000.000 unidades UTF-16, profundidad de 200 contenedores, 100.000 nodos fuente y salida de 2.000.000 unidades UTF-16. Parseo, serialización y ordenación tienen cada uno un presupuesto de 1.000.000 unidades de trabajo; prefijos largos o indentación profunda pueden agotarlo antes del límite de tamaño. No se garantizan todos los máximos a la vez. La operación tiene 15 segundos y recuperar la salida tiene 5 segundos. Se muestran hasta 100 diagnósticos y una vista previa de 20.000 unidades.

    La vista truncada puede ser JSON incompleto. Copiar todo y Descargar JSON recuperan el resultado completo con todos sus dígitos. Si falla el portapapeles, usa el campo completo para copia manual o Copiar de nuevo. La descarga usa json-sorted.json, UTF-8 y MIME JSON.

    Todo se procesa en el navegador, sin subidas, URLs remotas ni almacenamiento de documentos. Cancelar conserva fuente y opciones. Editar, elegir archivo, cambiar opciones o limpiar invalida resultados y exportaciones anteriores. Limpiar conserva las opciones elegidas. Se requiere JavaScript y un navegador con Worker.