jQuery parseJSON失败

pha*_*der 1 javascript jquery json

我正在用jQuery parseJSON函数做一些事情.

这是代码,它不起作用

var obj = $.parseJSON("{'w':'w-1'}");
alert(obj.w);
Run Code Online (Sandbox Code Playgroud)

调试一段时间后,我将单引号更改为双引号,如下面的代码,它工作正常.

var obj = $.parseJSON('{"w":"wb-001"}');
alert(obj.w);
Run Code Online (Sandbox Code Playgroud)

一些相关问题

1)我只是想知道为什么单引号不起作用?

2)单引号适用于eval但不适用于parseJSON,为什么?

var obj = eval("("+"{'w':'w-1'}"+")");
alert(obj.w);
Run Code Online (Sandbox Code Playgroud)

3)我通常这样写

var someString = "HELLO WORLD";
Run Code Online (Sandbox Code Playgroud)

var someString = 'HELLO WORLD';
Run Code Online (Sandbox Code Playgroud)

在遇到上述问题之后,我想知道我在过去的javascript编码中是否做错了.

提前完成,kvj

ale*_*lex 5

1)JSON规范说使用双引号.

字符串(带反斜杠转义的双引号Unicode)

来源.

2)eval()不是JSON解析器,而是JavaScript评估器.它将运行您的字符串,就像它是JavaScript一样.

3)在JavaScript中,它们具有相同的含义.只是保持一致.我个人使用,'因为我有时处理序列化的HTML,我"用于我的属性值.