在html数据属性中保存JSON对象

时间:2013-03-04 22:01:43

标签: javascript html

为什么会这样:

data-something='{property:1}'

不起作用,但是这个

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

一样。是吗

1 个答案:

答案 0 :(得分:5)

因为JSON要求引用对象键。这是JSON specification规定的;接受非引用的密钥意味着该实现不符合JSON。

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