jQuery.parseJSON单引号vs双引号

jQuery.parseJSON single quote vs double quote

本文关键字:vs parseJSON 单引号 jQuery      更新时间:2023-09-26

这到底有什么区别?

var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
document.write("obj1 "+ obj1.orderedList );

,但以下内容不起作用:

var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
document.write("obj2 "+ obj2.orderedList );

为什么?

这是因为双引号被认为是标准的,而单引号不是。这并不是JQuery所特有的,而是JSON标准。因此,无论使用什么JS工具包,您都应该期望相同的行为。

值可以是带双引号的字符串、数字、true、false或null,也可以是对象或数组。这些结构可以嵌套。

或者可能是JSON响应中jQuery单引号的复制

根据API文档,双引号被认为是有效的JSON,单引号不是。

http://api.jquery.com/jQuery.parseJSON/

去www.Jsonlint.com网站检查你的单引号json字符串,你会发现它不是一个有效的json字符串。因为json是标准的json格式。

jsonlint.com是一个检查json格式的网站

您可以使用replace来解决这个问题。

var str = "{'orderedList': 'true'}";
str = str.replace(/''/g, ''"');
JSON.parse(str);