JSON 语法


目录

    显示目录


JSON 语法是 JavaScript 语法的子集。


JSON 语法规则

JSON 语法源自 JavaScript 对象表示法语法:

  • 数据以名称/值对的形式存在

  • 数据以逗号分隔

  • 大括号保存对象

  • 方括号保存数组


JSON 数据 - 名称和值

JSON 数据以名称/值对(也称为键/值对)的形式编写。

名称/值对由字段名称(用双引号引起来)组成, 后跟一个冒号,后跟一个值:

例子

"name":"John"

JSON 名称需要双引号。


JSON - 计算为 JavaScript 对象

JSON 格式几乎与 JavaScript 对象相同。

在 JSON 中,keys 必须是字符串,用双引号编写:

JSON

{"name":"John"}

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

JavaScript

{name:"John"}


JSON 值

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

  • 一个字符串

  • 一个号码

  • 一个东西

  • 数组

  • 一个布尔值

  • 无效的

JavaScript 中,值可以是上述所有值,以及任何其他有效的 JavaScript 表达,包括:

  • 一个函数

  • 一个约会

  • 不明确的

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

JSON

{"name":"John"}

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

JavaScript

{name:'John'}

JavaScript 对象

因为 JSON 语法源自 JavaScript 对象表示法,所以很少有额外的内容 需要软件才能在 JavaScript 中处理 JSON。

使用 JavaScript,您可以创建一个对象并将数据分配给 它,像这样:

例子

person = {name:"John", age:31, city:"New York"};

您可以像这样访问 JavaScript 对象:

例子

// returns John
person.name;

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Access a JavaScript object</h2>
<p id="demo"></p>

<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

也可以这样访问:

例子

// returns John
person["name"];

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Access a JavaScript object</h2>
<p id="demo"></p>

<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj["name"];
</script>

</body>
</html>

数据可以这样修改:

例子

 person.name = "Gilbert";

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>

<script>
const myObj = {name:"John", age:30, city:"New York" };
myObj.name = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

也可以这样修改:

例子

 person["name"] = "Gilbert";

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>

<script>
const myObj = {name:"John", age:30, city:"New York"};
myObj["name"] = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

稍后您将学习如何将 JavaScript 对象转换为 JSON 教程。


JavaScript 数组作为 JSON

就像 JavaScript 对象可以写成 JSON 一样,JavaScript 数组也可以 也可以写成JSON。

您将在本教程后面了解有关对象和数组的更多信息。


JSON 文件

  • JSON 文件的文件类型是“.json”

  • JSON 文本的 MIME 类型是“application/json”