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) 。 |