JS HOME JS Introduction JS Where To JS Output JS Statements JS Syntax JS Comments JS Variables JS Let JS Const JS Operators JS Arithmetic JS Assignment JS Data Types JS Functions JS Objects JS Object Properties JS Object Methods JS Object Display JS Object Constructors JS Events JS Strings JS String Methods JS String Search JS String Templates JS Numbers JS BigInt JS Number Methods JS Number Properties JS Arrays JS Array Methods JS Array Search JS Array Sort JS Array Iteration JS Array Const JS Dates JS Date Formats JS Date Get Methods JS Date Set Methods JS Math JS Random JS Booleans JS Comparisons JS If Else JS Switch JS Loop For JS Loop For In JS Loop For Of JS Loop While JS Break JS Iterables JS Sets JS Set Methods JS Maps JS Map Methods JS Typeof JS Type Conversion JS Destructuring JS Bitwise JS RegExp JS Precedence JS Errors JS Scope JS Hoisting JS Strict Mode JS this Keyword JS Arrow Function JS Classes JS Modules JS JSON JS Debugging JS Style Guide JS Best Practices JS Mistakes JS Performance JS Reserved Words
JSON 是一种存储和传输数据的文件格式。
什么是 JSON?
- JSON 通常在数据从服务器发送到网页时使用。
- JSON 的意思是 **J**ava**S**cript **O**bject **N**otation(JavaScript 对象表示法)
- JSON 是一种轻量级的数据交换格式
- JSON 是“自描述的”,并且易于理解
* JSON 语法源自 JavaScript 对象表示法语法,但 JSON 格式仅为文本。用于读取和生成 JSON 数据的代码可以用任何编程语言编写。
JSON 示例
此 JSON 语法定义了一个 employees 对象:一个包含 3 个员工记录(对象)的数组
JSON 示例
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
JSON 格式可解析为 JavaScript 对象
JSON 格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,JavaScript 程序可以轻松地将 JSON 数据转换为本地 JavaScript 对象。
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 字符串
let text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
然后,使用 JavaScript 内置函数 JSON.parse()
将字符串转换为 JavaScript 对象
const 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 的信息。