2010-10-21 11 views
11

So testete ich zwei Möglichkeiten, einen JSON-String erklärt:Wie deklariere ich einen JSON-String richtig?

1:

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

2:

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

Was ist das Problem mit dem ersten?

Antwort

14

Einfache Anführungszeichen sind kein gültiges Anführungszeichen für Zeichenfolgen. Von http://www.json.org/:. "Ein Wert ein String in doppelten Anführungszeichen angegeben werden können ..."

2

json.org definiert einen String "von‘ anstatt zu verwenden, der ist meine Vermutung

2

prüfen http://www.json.org/

Strings in JSON-Objekt. in doppelte Anführungszeichen müssen beigefügt werden.

+0

Okay, wenn ich "asd" in Chrome starte, wird es automatisch in "asd" konvertiert. Deshalb dachte ich, das sei in Ordnung. – ajsie

+0

Ja, es ist ein kniffliger Fehler @weng. Man könnte meinen, dass einfache und doppelte Anführungszeichen wie überall austauschbar sind. – ArtBIT

1

http://www.json.org/ eine gute Referenz für JSON ist. Anscheinend Sie doppelte Anführungszeichen für Strings in JSON verwenden. ich lernte etwas neues heute auch. :)

-1

{ 'key' : 'val' } ist nicht richtig formatiert json.

Verwandte Themen