JSON 语法

JSON 语法是 JavaScript 语法的子集。


JSON 语法规则

JSON 语法衍生于 JavaScript 对象标记法语法:

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号容纳对象
  • 方括号容纳数组

JSON 数据- 名称和值

JSON 数据写为名称/值对。

名称/值由字段名称构成,后跟冒号和值:

  1. "name":"埃隆 马斯克"

JSON 名称需要双引号。而 JavaScript 名称不需要。

JSON – 求值为 JavaScript 对象

JSON 格式几乎等同于 JavaScript 对象。

在 JSON 中,键必须是字符串,由双引号包围:

JSON
  1. { "name":"埃隆 马斯克" }

在 JavaScript 中,键可以是字符串、数字或标识符名称:

JavaScript
  1. { name:"埃隆 马斯克" }

JSON 值

在 JSON 中,值必须是以下数据类型之一:

  • 字符串
  • 数字
  • 对象(JSON 对象)
  • 数组
  • 布尔
  • null

在 JavaScript 中,以上所列均可为值,外加其他有效的 JavaScript 表达式,包括:

  • 函数
  • 日期
  • undefined

在 JSON 中,字符串值必须由双引号编写:

JSON
  1. { "name":"埃隆 马斯克" }

在 JavaScript 中,您可以书写使用双引号或单引号的字符串值:

JavaScript
  1. { name:'埃隆 马斯克' }

JSON 使用 JavaScript 语法

因为 JSON 语法由 JavaScript 对象标记法衍生而来,所以很少需要其他额外的软件来处理 JavaScript 中的 JSON。

通过 JavaScript,您能够创建对象并向其分配数据,就像这样:

  1. var person = { name : "埃隆 马斯克", age : 50, city : "洛杉矶" };

您能够像这样访问 JavaScript 对象:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h1>访问 JavaScript 对象:</h1>
  5. <p id="demo">
  6. <script>
  7. var myObj, x;
  8. myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
  9. x = myObj.name;
  10. document.getElementById("demo").innerHTML = x;
  11. </script>
  12. </body>
  13. </html>

也可以像这样访问它:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h1>使用括号表示法访问 JavaScript 对象:</h1>
  5. <p id="demo">
  6. <script>
  7. var myObj, x;
  8. myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
  9. x = myObj["name"];
  10. document.getElementById("demo").innerHTML = x;
  11. </script>
  12. </body>
  13. </html>

可以像这样修改数据:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h1>修改 JavaScript 对象:</h1>
  5. <p id="demo">
  6. <script>
  7. var myObj, x;
  8. myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
  9. myObj.name = "马克 扎克伯格";
  10. document.getElementById("demo").innerHTML = myObj.name;
  11. </script>
  12. </body>
  13. </html>

也可以像这样修改它:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h1>使用括号表示法修改 JavaScript 对象:</h1>
  5. <p id="demo">
  6. <script>
  7. var myObj, x;
  8. myObj = { name: "埃隆 马斯克", age: 50, city: "洛杉矶" };
  9. myObj["name"] = "马克扎克伯格";
  10. document.getElementById("demo").innerHTML = myObj.name;
  11. </script>
  12. </body>
  13. </html>

JavaScript 数组用作 JSON

与将 JavaScript 对象用作 JSON 相同,JavaScript 数组也可以用作 JSON。

您将在本教程稍后学到更多有关 JSON 数组的知识。


JSON 文件

JSON 文件的文件类型是 ".json"

JSON 文本的 MIME 类型是 "application/json"