jQuery.parseJSON单引号vs双引号

sad*_*605 69 javascript jquery json

这有什么区别呢?

这很好用:

var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
document.write("obj1 "+ obj1.orderedList );
Run Code Online (Sandbox Code Playgroud)

但以下不起作用:

var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
document.write("obj2 "+ obj2.orderedList );
Run Code Online (Sandbox Code Playgroud)

这是为什么?

ch4*_*d4n 102

那是因为双引号被认为是标准的而单引号则不是.这不是JQuery特有的,而是JSON标准.因此,无论JS工具包如何,您都应该期待相同的行为.

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

更新

或者它可能是JSON响应jQuery单引号的副本


Dav*_*d M 23

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

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

  • @Tim - 请参阅下面的Ck答案...另外,请注意,在字符串中,您更可能使用撇号/单引号而不是双引号,因此用于分隔字符串的双引号可能更容易使用. (3认同)
  • 我不知道https://tools.ietf.org/html/rfc4627背后的原因。但是RFC是jQuery选择双引号的原因。 (2认同)