JavaScript解析函数JSON.parse无法按预期工作

时间:2016-09-13 08:41:12

标签: javascript json

案例:

var s = '{"a": 2}';
var d = JSON.parse(s); // d = Object {a: 2}

没关系。

然而,类似的情况并不解析字符串。为什么呢?

var s = "{'a': 2}";

var d= JSON.parse(s) // Uncaught SyntaxError: Unexpected token ' in JSON at position 1

预期结果 - 在第一种情况下解析对象。它应该有效,因为'和'在javascript中可以互换。

2 个答案:

答案 0 :(得分:4)

根据standard,你需要双引号来表示一个字符串,一个键是。

答案 1 :(得分:2)

  

应该有用,因为'和"可以在javascript中互换。

JSON不是JavaScript。

JSON字符串必须用引号分隔,而不是用撇号分隔。

请参阅the specification

  

字符串以引号开头和结尾。