JSON se parece a JavaScript, pero su gramática portable es más pequeña. Los nombres y cadenas usan comillas dobles, los números siguen una gramática decimal finita y solo cuatro caracteres de espacio son válidos fuera de tokens. Comentarios y comas finales sirven en otros lenguajes de configuración, pero aceptarlos implica analizar otro idioma. JSONClear mantiene el límite visible: valida JSON estricto e indica la primera posición donde la fuente deja de seguir esa gramática.
Nombres y cadenas requieren comillas dobles
`{'name':'Ada'}` puede entenderse en JavaScript, pero no es JSON. JSON estricto es `{"name":"Ada"}`. `{name:"Ada"}` tampoco es válido. JSONClear no adivina comillas ni reescribe apóstrofos del texto. Se detiene en la posición del nombre para que el autor corrija la fuente de forma deliberada y conserve el contenido previsto.
Comentarios y comas finales son otras funciones
Tras un miembro u elemento, JSON estricto permite coma solo si viene otro. Por eso `{"a":1,}` y `[1,2,]` fallan. `// note` y `/* note */` tampoco son espacios. Reparar automáticamente podría ocultar un elemento truncado o cambiar una cadena legítima. JSONClear informa el límite. Si la fuente es JSON5 o un módulo JavaScript, usa una herramienta que nombre ese lenguaje en vez de llamarlo JSON.
Los números JSON excluyen valores especiales
JSON acepta tokens decimales finitos como `-0`, `12.50` y `1e-9`. Rechaza `NaN`, `Infinity`, `0x10`, signo positivo inicial y ceros iniciales como `01`. Esas formas pertenecen a JavaScript o causan ambigüedad. JSONClear valida caracteres sin convertir a Number. Así mantiene gramática estricta y evita reescribir enteros largos o decimales válidos.