2010-10-21 14 views
11

Así que probaron dos formas de declarar una cadena JSON:¿Cómo declarar una cadena json correctamente?

1:

json = "{'name': 'ajsie'}"; 
obj = JSON.parse(json); // SyntaxError: Unexpected token ILLEGAL 

2:

json = '{"name": "ajsie"}'; 
obj = JSON.parse(json); // Worked! 

¿Cuál es el problema con la primera?

Respuesta

14

Las comillas simples no son un carácter de comillas válido para las cadenas. De http://www.json.org/:. "Un valor puede ser una cadena entre comillas dobles ..."

2

json.org define una cadena que se utiliza "en lugar de' Esa es mi conjetura

2

Comprobar http://www.json.org/

cadenas en objeto JSON. debe estar entre comillas dobles.

+0

De acuerdo, cuando ejecuto 'asd' en Chrome, automáticamente lo convierte en "asd". Por lo tanto, pensé que estaba bien. – ajsie

+0

Sí, es un error complicado @weng. Uno podría pensar que las comillas simples y dobles son intercambiables como en todas partes. – ArtBIT

1

http://www.json.org/ es una gran referencia para JSON. al parecer, usted tiene que utilizar comillas dobles para cadenas en JSON. aprendí algo nuevo hoy también. :)

-1

{ 'key' : 'val' } no tiene el formato correcto json.

Cuestiones relacionadas