JSON.parse错误使用双引号字符串给出错误

时间:2014-02-28 17:02:22

标签: javascript json

为什么会这样?

//Code
JSON.parse("{'name':'Khushal Khan'}");

导致此错误

//Resposnse
SyntaxError: Unexpected token '

虽然这完美无缺

//Code
JSON.parse('{"name":"Khushal Khan"}');

输出:

//Response
Object {name: "Khushal Khan"}

3 个答案:

答案 0 :(得分:6)

问题是JSON字符串中使用的引用类型,而不是外引号。 JSON规范仅允许双引号字符串。但是,您可以使用任一类型的引用将JSON字符串实际传递给parse()函数。

来自JSON spec

JSON string

答案 1 :(得分:2)

问题不在于您的JavaScript字符串使用"个字符,而是您的JSON字符串没有。

JSON不是JavaScript。 JSON字符串必须由"个字符分隔。

来自the specification

string = quotation-mark *char quotation-mark

quotation-mark = %x22      ; "

答案 2 :(得分:0)

问题不在于双引号字符串,但json应该没有单引号作为分隔符。