Valida JSON al instante: detecta coma final, comillas simples, claves sin comillas y paréntesis faltantes. Pega tu JSON y comprueba si la sintaxis es válida.
Cargando editor...
Cargando editor...
La entrada anterior es casi JSON válido. El problema es la coma final después de false en el segundo objeto de usuario:
{"name": "Bob", "active": false,}
Elimina esa coma y el documento se vuelve válido:
{
"users": [
{"name": "Alice", "active": true},
{"name": "Bob", "active": false}
]
}
Este es el error JSON más comun que enfrentan los desarrolladores, y es fácil pasarlo por alto porque JavaScript lo tolera.
La sintaxis JSON está definida por RFC 8259. Las reglas son más simples de lo que la mayoría espera. Un documento JSON válido es uno de: un objeto, un array, una cadena, un número, un booleano (true o false) o null. Los objetos son colecciones de pares clave-valor. Las claves deben ser cadenas (con comillas dobles). Los valores pueden ser cualquier valor JSON. Los arrays son listas ordenadas de valores JSON.
Reglas estructurales que más a menudo tropiezan a los desarrolladores:
El último elemento de un array o el último par clave-valor de un objeto no debe tener coma final. [1, 2, 3,] no es válido. {"a": 1, "b": 2,} no es válido.
Todas las cadenas deben usar comillas dobles. 'Alice' no es JSON válido. "Alice" si lo es.
Las claves de objeto deben ser cadenas con comillas. {name: "Alice"} no es JSON. {"name": "Alice"} si lo es.
JSON no tiene sintaxis de comentarios. // comentario y /* comentario */ causan error de análisis. Esto sorprende a quienes vienen de lenguajes que soportan comentarios en archivos de configuración.
NaN, Infinity y -Infinity no son valores JSON válidos. Si intentas serializar NaN a JSON con JSON.stringify(), obtienes null. El json.dumps() de Python lanza ValueError por defecto.
| Error | Ejemplo | Corrección |
|---|---|---|
| Coma final | [1,2,3,] |
[1,2,3] |
| Comillas simples | {'a': 1} |
{"a": 1} |
| Clave sin comillas | {a: 1} |
{"a": 1} |
| Comentario | // comment |
Eliminar o mover fuera del JSON |
| NaN/Infinity | {"v": NaN} |
Usar null o un marcador string |
JSON5 agrega comillas simples, claves sin comillas, comas finales y comentarios. JSONC solo agrega comentarios. HJSON (Human JSON) usa indentación en lugar de llaves. Ninguno es intercambiable con JSON estándar. Cada uno requiere su propio analizador. Para configuración, cualquiera funciona. Para API de datos, usa JSON estándar.
Si necesitas comparar estructuras JSON, prueba el Comparador de JSON. Para formatear tu JSON validado, usa el Formateador JSON.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.