为什么会这样:
data-something='{property:1}'
不起作用,但是这个
data-something='{"property":1}'
一样。是吗
答案 0 :(得分:5)
因为JSON要求引用对象键。这是JSON specification规定的;接受非引用的密钥意味着该实现不符合JSON。
这个决定是为了解决JavaScript中保留关键字的问题。希望有效的JSON也是一个有效的JavaScript表达式,为了实现这一点,您将 引用return
和function
等密钥。为了简化JSON语言的规范,决定要求引用所有键而不是维护必须引用的键列表,从而使JSON语法复杂化(以及将JSON语言与JavaScript语言更紧密地联系起来)否则将被要求)。