JSON 语法
JSON 语法是 JavaScript 语法的子集。
JSON 语法规则
JSON 语法衍生于 JavaScript 对象标记法语法:
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号容纳对象
- 方括号容纳数组
JSON 数据- 名称和值
JSON 数据写为名称/值对。
名称/值由字段名称构成,后跟冒号和值:
"name":"埃隆 马斯克"
JSON 名称需要双引号。而 JavaScript 名称不需要。
JSON – 求值为 JavaScript 对象
JSON 格式几乎等同于 JavaScript 对象。
在 JSON 中,键必须是字符串,由双引号包围:
JSON
{ "name":"埃隆 马斯克" }
在 JavaScript 中,键可以是字符串、数字或标识符名称:
JavaScript
{ name:"埃隆 马斯克" }
JSON 值
在 JSON 中,值必须是以下数据类型之一:
- 字符串
- 数字
- 对象(JSON 对象)
- 数组
- 布尔
- null
在 JavaScript 中,以上所列均可为值,外加其他有效的 JavaScript 表达式,包括:
- 函数
- 日期
- undefined
在 JSON 中,字符串值必须由双引号编写:
JSON
{ "name":"埃隆 马斯克" }
在 JavaScript 中,您可以书写使用双引号或单引号的字符串值:
JavaScript
{ name:'埃隆 马斯克' }
JSON 使用 JavaScript 语法
因为 JSON 语法由 JavaScript 对象标记法衍生而来,所以很少需要其他额外的软件来处理 JavaScript 中的 JSON。
通过 JavaScript,您能够创建对象并向其分配数据,就像这样:
var person = { name : "埃隆 马斯克", age : 50, city : "洛杉矶" };
您能够像这样访问 JavaScript 对象:
<!DOCTYPE html>
<html>
<body>
<h1>访问 JavaScript 对象:</h1>
<p id="demo">
<script>
var myObj, x;
myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
x = myObj.name;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
也可以像这样访问它:
<!DOCTYPE html>
<html>
<body>
<h1>使用括号表示法访问 JavaScript 对象:</h1>
<p id="demo">
<script>
var myObj, x;
myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
x = myObj["name"];
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
可以像这样修改数据:
<!DOCTYPE html>
<html>
<body>
<h1>修改 JavaScript 对象:</h1>
<p id="demo">
<script>
var myObj, x;
myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
myObj.name = "马克 扎克伯格";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
也可以像这样修改它:
实例
<!DOCTYPE html>
<html>
<body>
<h1>使用括号表示法修改 JavaScript 对象:</h1>
<p id="demo">
<script>
var myObj, x;
myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
myObj["name"] = "马克扎克伯格";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
JavaScript 数组用作 JSON
与将 JavaScript 对象用作 JSON 相同,JavaScript 数组也可以用作 JSON。
您将在本教程稍后学到更多有关 JSON 数组的知识。
JSON 文件
JSON 文件的文件类型是 ".json"
JSON 文本的 MIME 类型是 "application/json"