Guía JSON

JSON vs objeto JavaScript

Una explicación clara para no confundir un objeto escrito en JavaScript con JSON válido, con ejemplos incorrectos y su versión estricta.

No son lo mismo

JSON se parece a la sintaxis de objetos de JavaScript, pero es más estricto. Esa diferencia explica muchos errores al copiar datos desde código a una herramienta, API o archivo .json.

Objeto JavaScript

Válido como JavaScript, no como JSON
{
  usuario: 'Ana',
  activo: true,
  edad: undefined,
  saludar() {
    return "hola";
  }
}

JSON equivalente

JSON válido
{
  "usuario": "Ana",
  "activo": true,
  "edad": null
}

Diferencias importantes

  • Las claves JSON deben ir entre comillas dobles.
  • Los strings JSON usan comillas dobles.
  • JSON no permite funciones ni métodos.
  • JSON no permite undefined, NaN ni Infinity.
  • JSON no permite comentarios.

Cómo evitar la confusión

Si estás en JavaScript, genera el texto con JSON.stringify. Si recibiste texto desde una API, pégalo en Validar JSON online antes de editarlo.

Errores relacionados

Preguntas frecuentes

¿Todo objeto JavaScript es JSON válido?

No. Un objeto JavaScript puede usar claves sin comillas, comillas simples, métodos, undefined o comentarios; JSON no.

¿JSON es un lenguaje de programación?

No. JSON es un formato de datos. No tiene funciones, variables, expresiones ni comentarios.

¿Cómo convierto un objeto JavaScript a JSON?

En JavaScript puedes usar JSON.stringify(), revisando antes qué valores no son representables en JSON.