JSON.parse,我做错了什么?

7

所以,我正在尝试使用JavaScript解析一些JSON。这个感觉应该能够工作,但是我收到了一个错误。以下是函数调用:

JSON.parse("{player: 'green', direction: 'north'}");

以下是错误信息:


VM156:1 Uncaught SyntaxError: Unexpected token p in JSON at position 1
    at Object.parse (native)
    at <anonymous>:1:6

我正在一个空的网页上尝试这个,没有JS库。

刚刚执行的字符串会创建一个具有两个期望属性的对象。

我已经尝试用字符串包装键。但是它无法解析。

意外的令牌似乎是第一个字母是什么。

我做错了什么,如何解析这个对象?


5
你没有传递JSON,这对需要JSON的函数来说是个问题。 - adeneo
@adeneo 可能这不是我期望的结果。你能给一个有效的例子吗? - AJFaraday
4
"http://jsonlint.com/" 是你的好朋友,同时"http://json.org"上的规范也很重要。 - Quentin
9
在JSON中,键和值始终用双引号括起来进行引用,除非这些值是数字或其他"对象"等。 - adeneo
请记住,在创建对象时,JSON比JavaScript表示法更严格。 - S. Buda
1个回答

15

那不是有效的JSON

尝试这个:

JSON.parse('{"player": "green", "direction": "north"}');

请注意双引号"而不是单引号',以及对象键周围的引号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接