Arreglar el error de parse JSON: Expected Property Name

Este error suele significar que el parser llegó a una clave de objeto que no es JSON válido: una clave sin comillas, un comentario, una coma final o sintaxis JavaScript dentro de JSON estricto.

Qué significa el error

Los miembros de un objeto JSON deben empezar siempre con un nombre de propiedad entrecomillado con dobles. Cuando un parser dice expected property name o expected property name or '}' suele estar justo después de un { de apertura o de una , y espera una clave como "name". Si ve name, // comentario, /* comentario */ o un cierre tras una coma final, se detiene porque esos patrones pertenecen a JavaScript, no a JSON estricto.

Causas más habituales

La forma más rápida de depurar este error es mirar el carácter en la línea y columna reportadas y luego el token anterior. La mayoría de los casos vienen de uno de estos cuatro errores pequeños.

  • Claves de objeto sin comillas, por ejemplo { name: "Ada" }
  • Claves o cadenas con comillas simples, por ejemplo { 'name': 'Ada' }
  • Comentarios copiados desde archivos JavaScript o JSONC
  • Una coma final antes de } o ]

Ejemplo erróneo

{ name: 'Ada', active: true, // copied from a JS object }

JSON corregido

{ "name": "Ada", "active": true }

Checklist de reparación

Entrecomilla cada clave con dobles, convierte las cadenas con comillas simples a comillas dobles, quita los comentarios, elimina las comas finales y asegúrate de que los booleanos y null estén en minúsculas. Tras reparar, ejecuta una validación estricta antes de guardar el valor en un archivo de configuración, enviarlo a una API o pegarlo en una migración.

Cuándo es segura la reparación automática

La reparación automática es segura cuando la intención es clara y solo se limpia sintaxis. No debe tratarse como validación de negocio. Si un nombre de clave, un número, una fecha o un enum puede ser ambiguo, primero repara la sintaxis y luego compara la salida reparada con el sistema fuente o el schema de la API.