对于javascript对象,对于它的属性,我通常不会给它添加单引号。我记得如果我在对象的属性中添加单引号,它就会变成 JSON 吗?我说得对吗?
请看这段代码,两个代码都会输出对象的值。请解释我是否需要向对象的属性添加单引号?
var test1 = {
foo: 'foo1',
bar: 'bar1'
};
alert(test1.foo);
var test2 = {
'foo': 'foo1',
'bar': 'bar1'
};
alert(test2.foo);
最佳答案
请记住,JSON 仅与 JavaScript 无关,是 a spec separate from JavaScript itself .
单引号不是有效的 JSON。双引号是。不过,这无关紧要,因为这是 JavaScript 代码,并且在定义事物的方式方面它更加宽容。
只有当您序列化要在应用程序外部传输的内容时,JSON 才会发挥作用。在这种情况下,如何定义数据并不重要:
var test1 = {
foo: 'foo1',
bar: 'bar1'
};
JSON.stringify(test1, null, 2);
无论您使用单引号、双引号还是根本不使用引号,它都将正确编码为 JSON。
关于javascript - 为什么要在对象的属性中添加单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46286629/