- 1. JSON 概述
- 2. JSON 语法
- 3. JSON 的两种结构
- 3.1 JSON 对象结构
- 3.2 JSON 数组结构
- 4. JSON 的值
- 4.1 JSON 对象
- 4.2 JSON 数组
- 4.3 JSON 布尔值
- 4.4 JSON null
- 5. JSON 文件
- 6. JSON 使用场景
JSON 是一种轻量级的文本数据交换格式而非编程语言,其语法只支持字符串,数值,布尔值及null以及在此基础上的对象和数组。
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 使用 Javascript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
2. JSON 语法JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
- 数据使用名/值对表示。
- 使用大括号保存对象,每个名称后面跟着一个 ‘:’(冒号),名/值对使用 ,(逗号)分割。
- 使用方括号保存数组,数组值使用 ,(逗号)分割。
{
"book": [
{
"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id":"07",
"language": "C++",
"edition": "second",
"author": "E.Balagurusamy"
}]
}
3. JSON 的两种结构
JSON结构共有2种:
- 对象结构;
- 数组结构;
JSON对象结构是使用大括号“{}”
括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”
对(key:value)构成的。
var jsonObj =
{
"键名1":值1,
"键名2":值2,
……
"键名n":值n
}
jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
3.2 JSON 数组结构JSON数组结构是用中括号“[]”
括起来,中括号内部由0个或多个以英文逗号“,”
分隔的值列表组成。
var arr =
[
{
"键名1":值1,
"键名2":值2
},
{
"键名3":值3,
"键名4":值4
},
……
]
arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象,大家看看像不像?而且语法都非常类似。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
4. JSON 的值JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象在花括号({})中书写,对象可以包含多个名称/值对:
{ "firstName":"John" , "lastName":"Doe" }
4.2 JSON 数组
JSON 数组在方括号中书写,数组可包含多个对象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,对象 “employees” 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
4.3 JSON 布尔值JSON 布尔值可以是 true 或者 false:
{ "school":true }
4.4 JSON null
JSON 可以设置 null 值:
{ "school":null }
5. JSON 文件
- JSON 文件的文件类型是 “.json”
- JSON 文本的 MIME 类型是 “application/json”
JSON经常应用到的场景是:在后台应用程序中将响应数据封装成JSON格式,传到前台页面之后,需要将JSON格式转换为JavaScript对象,然后在网页中使用该数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)