Saltar al contenido
jsonbeautifiers
Español
V8 Verificado ejecutando el parser en Node v24.15.0, V8 13.6.233.17.

Expected property name or '}' in JSON at position N (line L column C)

El parser abrió un objeto y esperaba o bien una clave entre comillas dobles o bien la llave de cierre. Recibió otra cosa. En datos reales, esa otra cosa es casi siempre una comilla simple o un identificador desnudo, lo que significa que el texto es el repr de un dict de Python o un literal de objeto de JavaScript, y no JSON.

Pega tu JSON y ve exactamente dónde se rompe

Entrada

Nada de lo que pegues sale de tu navegador. La lista de permitidos de connect-src convierte eso en una garantía del navegador, no en una promesa. Compruébalo tú mismo

Qué lo provoca realmente

Ordenados por la frecuencia con la que cada uno acaba siendo la respuesta.

  1. 01 Claves con comillas simples, de un dict de Python impreso con str()

    print(mi_dict) y str(mi_dict) producen sintaxis de Python, no JSON: comillas simples, y True, False y None en vez de true, false y null. Usa json.dumps para producir JSON.

    Falla

    {'name': 'Priya', 'active': True}

    Funciona

    {"name": "Priya", "active": true}
  2. 02 Claves sin comillas, de un literal de objeto de JavaScript

    JavaScript admite identificadores desnudos como claves. JSON no, ni siquiera cuando la clave sería un identificador perfectamente válido.

    Falla

    { name: "Priya", role: "admin" }

    Funciona

    { "name": "Priya", "role": "admin" }
  3. 03 Un comentario dentro de un archivo de configuración

    JSON no tiene sintaxis de comentarios. Un // o un /* dentro de un objeto aterriza aquí.

  4. 04 Comillas tipográficas venidas de un procesador de textos

    El autocorrector de Word, Google Docs, Notas y varios clientes de chat convierte las comillas rectas en curvas. Para un parser de JSON, las comillas curvas son caracteres corrientes, no delimitadores de cadena. Nuestro validador las nombra específicamente en vez de reportar un token inesperado genérico.

El mismo error en otros entornos

El problema de fondo es idéntico; solo cambia la redacción. Si un compañero reporta alguno de estos, está mirando exactamente lo mismo que tú.

Python Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Java (Jackson) Unexpected character ('s' (code 115)): was expecting double-quote to start field name

Preguntas frecuentes

¿Cómo produzco JSON a partir de un dict de Python correctamente?
json.dumps(obj) devuelve una cadena JSON. str(obj) y print(obj) devuelven sintaxis de Python que solo se le parece. Esta es una de las fuentes más habituales de JSON inválido que hay.
¿Puedo convertir el repr de un dict de Python a JSON?
Sí. ast.literal_eval lo parsea de forma segura a un objeto de Python que luego puedes pasar por json.dumps. Nuestra herramienta de reparación hace el mismo trabajo en el navegador, convirtiendo las comillas simples y los literales True, False y None en una sola pasada.

Arréglalo ahora

Pega el payload en la herramienta de arriba, o ve directamente a la creada para este trabajo.

Convertirlo en JSON válido