Todas las guías
Datos

Detecta claves JSON duplicadas antes de perder valores

Formatear puede ocultar una clave duplicada. Revisa ambas definiciones antes de elegir qué valor conservar.

Este JSON parece lo bastante pequeño como para revisarlo a simple vista:

{
  "theme": "light",
  "theme": "dark"
}

Pero, ¿qué tema debería usar una aplicación? Un formateador que analice el objeto y lo imprima de nuevo puede dejarte con un solo valor, ocultando el conflicto antes de que lo notes.

La sintaxis válida no resuelve un duplicado

El estándar JSON recomienda que los nombres dentro de un objeto sean únicos. Los nombres duplicados pueden ajustarse a la gramática, pero los receptores no los manejan todos igual: algunos conservan el último valor, otros rechazan el objeto y otros exponen ambos.

JavaScript conserva el último en este ejemplo:

JSON.parse('{"theme":"light","theme":"dark"}').theme
// "dark"

Ese es el comportamiento del analizador, no una prueba de que el segundo valor sea correcto. Para archivos de configuración, el primer valor podría ser el que querías conservar.

Encuentra ambas definiciones antes de editar

Descarga la muestra de clave duplicada y ábrela en el formateador JSON de CozyToolkit.

  1. Usa Abrir JSON o pega el ejemplo en Tu JSON.
  2. Busca el campo resaltado y la lista de problemas debajo de los editores. Esta muestra marca la segunda clave en la línea 3, columna 3.
  3. Selecciona el problema para saltar a él. Mostrar primera definición te lleva a la línea 2, columna 3.
  4. Compara los valores con la fuente de referencia: tu configuración, el esquema de la API o la exportación original. Guarda una copia antes de cambiar nada; Copiar original conserva la entrada tal como se introdujo.
  5. Elimina la propiedad no deseada. Una vez resueltos los problemas, revisa la salida y usa Copiar formateado o Descargar.

El formateador bloquea deliberadamente la salida formateada mientras queden claves duplicadas. Ordenar las claves o cambiar la sangría no puede resolver la ambigüedad.

Para este ejemplo, supongamos que el modo oscuro es el ajuste previsto. El archivo corregido contiene solo esa propiedad. Lo elegimos explícitamente; la herramienta no decidió por nosotros.

El mismo nombre en objetos separados está bien

Estas dos propiedades pertenecen a objetos distintos:

{
  "editor": { "theme": "light" },
  "preview": { "theme": "dark" }
}

No hay duplicado dentro de ninguno de los objetos. Una búsqueda de texto de la palabra “theme” encuentra dos coincidencias, pero eso no basta para diagnosticar una clave duplicada. Prueba el archivo de objetos separados en el formateador: no debería tener problemas.

Si realmente necesitas varios valores, un array puede ser apropiado, pero solo si la aplicación que recibe el JSON espera un array. Renombrar una clave o cambiar el tipo de un valor solo para eliminar un error puede dejar el archivo en un formato que esa aplicación no admite.

Los nombres escapados pueden ocultar el mismo problema

Este objeto tiene dos grafías de la misma clave decodificada:

{"theme":"light","\u0074heme":"dark"}

El escape representa la letra t. Tras decodificar, ambos nombres son theme. Nuestro inspector también lo marca. Descarga la muestra de clave escapada si quieres comprobarlo.

Para una exportación grande, usa un verificador que entienda el análisis sintáctico en lugar de buscar palabras repetidas. Nuestra herramienta admite archivos de hasta 5 MB, con límites de 200.000 valores y 100 niveles de anidamiento. Si alcanza el límite de visualización de 100 problemas, corrige los problemas notificados y deja que vuelva a comprobar. Para archivos que superen esos límites, usa un validador local que procese el archivo por partes (streaming) que detecte explícitamente los duplicados antes de descartarlos.

Lo que te dice un resultado limpio

Que no haya errores de clave duplicada significa que esta ambigüedad concreta ha desaparecido. No demuestra que un precio, permiso, URL o valor de configuración sea correcto. Compruébalos contra el esquema y la aplicación que usará el archivo.

El 1 de octubre de 2026, ejecutamos las cuatro muestras descargables a través del mismo inspector que la herramienta. Comprobamos las posiciones de línea y columna, verificamos que los duplicados bloquean el formateo y confirmamos que las muestras corregida y de objetos separados pasan. Los resultados de las pruebas incluyen esas comprobaciones y el resultado del análisis de JavaScript. La inspección ocurre en tu navegador; ningún modelo de IA elige qué valores conservar.