怎么会这样:

data-something='{property:1}'


不起作用,但这

data-something='{"property":1}'


做。可以

最佳答案

因为JSON要求引用对象键。这是由JSON specification强制执行的;接受不带引号的键将意味着该实现不符合JSON。

做出此决定是为了避开JavaScript中保留关键字的问题。希望有效的JSON也是有效的JavaScript表达式,要实现这一点,您必须引用returnfunction之类的键。为了简化JSON语言的规范,决定要求所有键都加引号,而不是维护必须加引号的键列表,从而使JSON语法复杂化(以及将JSON语言与JavaScript语言更紧密地联系起来,否则将是必需的)。

10-07 19:17
查看更多