|
|
1
31
@AndreasN is correct : JSON specification 指示使用引号,以便它实际上是JSON。如果不使用引号,它可能是JavaScript中的有效对象文本,但它不是JSON。除了浏览器端JavaScript之外的其他服务使用JSON(例如使用PHP、Java等的WebServices),并且如果构造一个缺少引号的字符串,则不能保证它将被正确解析——尽管我怀疑大多数实现都足够健壮。 仅供参考,在javascript中,直接对源代码的JSON字符串使用eval()是很危险的,您不能阻止恶意攻击。再次,看到 JSON site 它提供了更多的解释,以及一个非常短的javascript文件,可以安全地将JSON字符串解析为javascript对象。 编辑: 我猜从技术上讲,你最初的问题不是关于JSON,而是关于 对象字面量 . 区别在于,可从JSON字符串构造的对象将排除许多其他可能的对象文本,例如:
对象文本“a”和“aname”可以用json表示(通过向属性名添加引号)。但是对象文本“b”和“c”不能。对象文本“b”包含函数(JSON中不允许)。上面的对象文本“c”包含对其他变量的引用,其方式在JSON中不可表示,因为某些引用是共享的。如果你改变了
|
|
|
2
8
如果IE在第二个示例中失败,那是因为“class”是一个保留字(仅在IE中)。一般来说,最好用引号括住你的房产名——这样做意味着无论情况如何,它都会一直有效。 |
|
|
4
5
必须在包含单词字符以外的任何内容的属性周围使用“引号”
除此之外,两者之间没有区别,我可以想象这两种方式在所有浏览器中都能工作。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |