jQuery.parseJSON单引号与双引号
究竟是什么区别呢?
这工作正常:
var obj1 = jQuery.parseJSON('{"orderedList": "true"}'); document.write("obj1 "+ obj1.orderedList );
但以下不起作用:
var obj2 = jQuery.parseJSON("{'orderedList': 'true'}"); document.write("obj2 "+ obj2.orderedList );
这是为什么?
这是因为双引号被认为是标准的,而单引号不是。 这不是特别针对JQuery,而是关于JSON标准 。 所以不pipeJS工具包,你应该期望相同的行为。
值可以是双引号或数字,或者真或假或空,或对象或数组中的string。 这些结构可以嵌套。
更新
或者也许它是JSON单引号JSON响应的重复
根据API文档,双引号被认为是有效的JSON,单引号不是。
去www.Jsonlint.com网站,检查你的单引号JSONstring,你会发现它不是一个有效的JSONstring。 因为双引号json是标准的json格式。
jsonlint.com是一个网站来检查json格式是否正确。
你可以使用replace来解决这个问题。 这对我有效。
var str = "{'orderedList': 'true'}"; str = str.replace(/\'/g, '\"'); JSON.parse(str);
- 在JavaScript中的querySelector和querySelectorAll与getElementsByClassName和getElementById
- RequireJS:有没有办法实现多个基本的URL?
- Rails js.erb文件找不到方法“render”
- 检查扩展权限与新的Facebook的JavaScript的SDK
- 如何在Javascript中执行不区分大小写的sorting?
- PHP中的decodeURIcomponent相当于什么?
- JavaScriptdevise模式:模块模式与显示模块模式的区别?
- 如何在JavaScript中对string中的字符进行混洗?
- 使用“new”运算符创build对象时,我们可以省略括号吗?