什么是 JSON?

HTML
JSON

JSON 代表 JavaScript Object Notation

JSON 是一种用于存储和传输数据的轻量级格式

当数据从服务器发送到网页时,通常使用 JSON

JSON 是 "自我描述" 且易于理解


JSON 实例

这个例子定义了一个员工对象:一个包含 3 个员工记录(对象)的数组:

{
"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]
}

Learn JSON Now!


JSON 语法规则

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

JavaScript 对象表示法

JSON 格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,JavaScript 程序可以轻松地将 JSON 数据转换为原生 JavaScript 对象。

JSON 语法源自 JavaScript 对象表示法语法,但 JSON 格式仅为文本。 用于读取和生成 JSON 数据的代码可以用任何编程语言编写。



JSON 数据 - 名称和值

JSON 数据被写成名称/值对,就像 JavaScript 对象属性一样。

名称/值对由字段名称(双引号)、冒号和值组成:

"firstName":"John"

JSON 名称需要双引号。 JavaScript 名称没有。


JSON 对象

JSON 对象写在花括号内。

就像在 JavaScript 中一样,对象可以包含多个名称/值对:

{"firstName":"John", "lastName":"Doe"}

JSON 数组

JSON 数组写在方括号内。

就像在 JavaScript 中一样,数组可以包含对象:

"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]

在上面的例子中,对象"employees" 是一个数组。 它包含三个对象。

每个对象都是一个人的记录(有名字和姓氏)。


将 JSON 文本转换为 JavaScript 对象

JSON 的一个常见用途是从 Web 服务器读取数据,并将数据显示在网页中。

为简单起见,这可以使用字符串作为输入来演示。

首先,创建一个包含 JSON 语法的 JavaScript 字符串:

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';

然后,使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:

var obj = JSON.parse(text);

最后,在您的页面中使用新的 JavaScript 对象:

实例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>

亲自试一试 »


完整的 JSON 教程

这是对 JSON 的简短描述。

如需完整的 JSON 教程,请访问 W3Schools JSON 教程