【发布时间】:2014-10-30 04:42:58
【问题描述】:
<!DOCTYPE html>
<html>
<body>
<p>Creating a JavaScript Object.</p>
<p id="demo"></p>
<script>
var person = {
firstName : "John",
"lastName" : "Doe",
age : 50,
"eyeColor" : "blue"
};
document.getElementById("demo").innerHTML =
person.firstName + " " + person.lastName + " is " + person.age + " years old.";
</script>
</body>
</html>
结果是 ---> John Doe 50 岁。 在这里,无论属性 firstName,"lastName" 是否用引号括起来,代码仍然有效。但是技术差异是什么,在哪些情况下它不起作用 例如,在 JSON 中,除非存在引号,否则 person 对象的 firstName 属性是无效的 json 语法。 但 javascript 允许任一语法工作
【问题讨论】:
-
在 JSON 中,引号是必需的。在 js 对象文字中,它们不是。除非你有理由,否则不要在 js 中引用属性名。
-
JSON 是 js 的一个子集,而且更加严格。这只是意味着在 JSON 中更严格,并且需要用引号引起来的属性名称。内联 js 表示法更宽松,不需要引号。话虽这么说,任何 json 都应该使用序列化程序生成。
-
使用 stringify 序列化方法是不可能的
标签: javascript json