我正在使用jQuery parseJSON函数做一些事情。
这是代码,但无效
var obj = $.parseJSON("{'w':'w-1'}");
alert(obj.w);
经过一段时间的调试后,我将单引号更改为双引号,如下面的代码所示,它运行正常。
var obj = $.parseJSON('{"w":"wb-001"}');
alert(obj.w);
一些相关问题
1)我只是想知道为什么单引号不起作用?
2)单引号适用于eval但不适用于parseJSON,为什么?
var obj = eval("("+"{'w':'w-1'}"+")");
alert(obj.w);
3)我通常这样写</ p>
var someString = "HELLO WORLD";
和
var someString = 'HELLO WORLD';
遇到上述问题后,我想知道我过去的javascript编码是否出错了。
Thanx提前, kvj
答案 0 :(得分:5)
1)JSON规范说使用双引号。
String(带反斜杠转义的双引号Unicode)
2)eval()
不是JSON解析器,而是JavaScript评估器。它将运行您的字符串,就像它是JavaScript一样。
3)在JavaScript中,它们具有相同的含义。只是保持一致。我个人使用'
,因为我有时处理序列化HTML,并使用"
作为属性值。