jQuery parseJSON 失败
我正在使用 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)我通常这样写
var someString = "HELLO WORLD";
,
var someString = 'HELLO WORLD';
在遇到上述问题后,我想知道我过去的JavaScript编码是否做错了什么。
提前感谢, 克瓦杰
I was doing some stuff with jQuery parseJSON function.
This is the code, which is not working
var obj = $.parseJSON("{'w':'w-1'}");
alert(obj.w);
After debugging for some time I changed the single quotes to double quotes like the code below and it worked fine.
var obj = $.parseJSON('{"w":"wb-001"}');
alert(obj.w);
Some related Questions
1) I just want to know WHY single quotes don't work?
2) Single quotes works fine with eval but not with parseJSON, Why?
var obj = eval("("+"{'w':'w-1'}"+")");
alert(obj.w);
3) I usually write like this
var someString = "HELLO WORLD";
and
var someString = 'HELLO WORLD';
After encountering the above problem I was wondering if I was doing something wrong in all my past javascript coding.
Thanx in advance,
kvj
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1) JSON 规范说使用双引号。
源。
2)
eval()
不是一个 JSON 解析器,而是一个 JavaScript 评估器。它会像 JavaScript 一样运行你的字符串。3)在JavaScript中,它们具有相同的含义。只要保持一致即可。我个人使用
'
因为我有时会处理序列化 HTML,并且我使用"
作为我的属性值。1) JSON spec says use double quotes.
Source.
2)
eval()
is not a JSON parser, but a JavaScript evaluator. It will run your string as if it were JavaScript.3) In JavaScript, they have the same meaning. Just be consistent. I personally use
'
because I sometimes deal with serialised HTML and I use"
for my attribute values.