112 lines
2.2 KiB
Markdown
112 lines
2.2 KiB
Markdown
|
---
|
|||
|
title: JSON Syntax
|
|||
|
localeTitle: JSON语法
|
|||
|
---
|
|||
|
## JSON语法
|
|||
|
|
|||
|
JSON语法是JavaScript语法的子集。
|
|||
|
|
|||
|
### JSON语法规则
|
|||
|
|
|||
|
* JSON Object是一组无序的名称/值对。
|
|||
|
* 对象名后跟冒号(:)。
|
|||
|
* 大括号{}用于保持对象。对象以{(左大括号)开头,以}结尾(右大括号)。
|
|||
|
* JSON对象数据表示为名称/值对的集合。
|
|||
|
* 每个名称/值对用逗号(,)分隔
|
|||
|
* 方括号\[\]用于保存数组。
|
|||
|
|
|||
|
### JSON数据 - 名称和值
|
|||
|
|
|||
|
JSON数据被写为名称/值对。
|
|||
|
|
|||
|
名称/值对由字段名称(双引号),后跟冒号,后跟值组成:
|
|||
|
```
|
|||
|
"handle":"moghya"
|
|||
|
```
|
|||
|
|
|||
|
* JSON名称需要双引号。
|
|||
|
|
|||
|
### JSON - 评估JavaScript对象
|
|||
|
|
|||
|
JSON格式几乎与JavaScript对象相同。
|
|||
|
|
|||
|
在JSON中,键必须是字符串,用双引号编写:
|
|||
|
|
|||
|
* JSON
|
|||
|
```
|
|||
|
"handle":"moghya"
|
|||
|
```
|
|||
|
|
|||
|
* JavaScript的
|
|||
|
```
|
|||
|
handle:"moghya"
|
|||
|
```
|
|||
|
|
|||
|
### JSON值
|
|||
|
|
|||
|
在JSON中,值必须是以下数据类型之一:
|
|||
|
|
|||
|
* 一个字符串
|
|||
|
* 一个号码
|
|||
|
* 一个对象(JSON对象)
|
|||
|
* 数组
|
|||
|
* 布尔值
|
|||
|
* 空值
|
|||
|
|
|||
|
在JavaScript中,值可以是以上所有,以及任何其他有效的JavaScript表达式,包括:
|
|||
|
|
|||
|
* 一个功能
|
|||
|
* 一个约会
|
|||
|
* 未定义
|
|||
|
|
|||
|
### JSON使用JavaScript语法
|
|||
|
|
|||
|
因为JSON语法是从JavaScript对象表示法派生的,所以在JavaScript中使用JSON需要很少的额外软件。
|
|||
|
|
|||
|
使用JavaScript,您可以创建一个对象并为其分配数据,如下所示:
|
|||
|
```
|
|||
|
var person = {
|
|||
|
"name":"Shubham",
|
|||
|
"age":21,
|
|||
|
"handle":"moghya",
|
|||
|
"website":"http://moghya.me/"
|
|||
|
};
|
|||
|
```
|
|||
|
|
|||
|
您可以像这样访问JavaScript对象:
|
|||
|
```
|
|||
|
//returns moghya
|
|||
|
person.handle;
|
|||
|
```
|
|||
|
|
|||
|
它也可以像这样访问:
|
|||
|
```
|
|||
|
//returns http://moghya.me/
|
|||
|
person["website"];
|
|||
|
```
|
|||
|
|
|||
|
### JSON中的数组
|
|||
|
```
|
|||
|
var team = {
|
|||
|
"name":"novatoscript",
|
|||
|
"members" :
|
|||
|
[
|
|||
|
{
|
|||
|
"name":"Shubham Sawant",
|
|||
|
"age":21,
|
|||
|
"handle":"moghya",
|
|||
|
"website":"http://moghya.me",
|
|||
|
},
|
|||
|
{
|
|||
|
"name":"Saurabh Banore",
|
|||
|
"age":21,
|
|||
|
"handle":"banoresaurabh",
|
|||
|
"website":"http://banoresaurabh.me/",
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 例
|
|||
|
|
|||
|
这里有一个非常大的JSON示例[!](http://moghya.me/js/profile.json) 。
|