2010-10-21 14 views
11

Così ho provato due modi di dichiarare una stringa JSON:Come dichiarare correttamente una stringa JSON?

1:

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

2:

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

Qual è il problema con il primo?

risposta

14

Le virgolette singole non sono un carattere di virgolette valido per le stringhe. Da http://www.json.org/:. "Un valore può essere una stringa tra virgolette ..."

2

json.org definisce una stringa da usare "al posto di' Questa è la mia ipotesi

2

check http://www.json.org/

stringhe in oggetto JSON. deve essere racchiuso tra virgolette.

+0

OK, quando eseguo "asd" in Chrome, lo converte automaticamente in "asd". Quindi pensavo che andasse bene. – ajsie

+0

Sì, è un errore difficile @weng. Si potrebbe pensare che le virgolette singole e doppie siano intercambiabili come ovunque. – ArtBIT

1

http://www.json.org/ è un grande riferimento per JSON. a quanto pare è necessario usare le virgolette per le stringhe in JSON. ho imparato qualcosa di nuovo anche oggi. :)

-1

{ 'key' : 'val' } non è correttamente formattato JSON.

Problemi correlati