SpringMVC:四JSON
Posted Jaywee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC:四JSON相关的知识,希望对你有一定的参考价值。
7、JSON
JSON(javascript Object Notation):JavaScript 对象标记。
7.1、简介
什么是 JSON
- 是轻量级的文本数据交换格式;
- 独立于编程语言;
- 使用 JavaScript 语法来描述数据对象(使用文本表示 JS 对象);
- 具有自我描述性,易于理解。
7.2、JSON vs XML
JSON 和 XML 都用于接收 web 服务端的数据。
7.2.1、对比
相同点
- 具有自我描述性;
- 具有层级结构;
- 可以被大多数编程语言使用;
- 可通过 JavaScript 解析;
- 可使用 AJAX 传输;
不同点
- JSON 不需要结束标签;
- JSON 更加简短;
- JSON 读写速度更快;
- JSON 可以使用数组;
7.2.2、JSON优于XML
-
XML 比 JSON 更难解析;
-
JSON 可以使用 JavaScript 对象解析;
-
对于 AJAX 来说,JSON 比 XML 数据加载更快、更简单;
-
使用 XML
- 获取 XML 文档;
- 使用 XML DOM 来循环遍历文档;
- 将数据解析并存储在变量中;
-
使用 JSON
- 获取 JSON 字符串;
- 解析 JSON 字符串;
7.3、语法
JSON 语法是 JavaScript 语法的子集。
7.3.1、JSON语法规则
- 数据用 K-V 键值对表示;
- 数据之间用逗号分隔;
- 大括号
{}
保存对象; - 中括号
[]
保存数组。
{
"name" : "jaywee",
"age" : "17",
"hobby": ["java","music","basketball"]
}
7.3.2、JSON数据类型
JSON 值可以是:
- 数字:整数或浮点数;
- 字符串:写在双引号中;
- 逻辑值:true 或 false;
- 对象:写在大括号
{}
中; - 数组:写在中括号
[]
中; - 空值:null
7.3.3、JSON对象
用大括号{}
表示 JSON 对象,JSON 对象可以包含多个 K-V 键值对。
- Key 必须是字符串,Value 可以是合法的 JSON 数据类型(数字, 字符串, 布尔值, 对象, 数组或 null);
- Key 和 Value 中使用冒号
:
分割; - 多个 K-V 键值对之间使用逗号
,
分割。
访问 JSON 对象属性
通过点号.
或中括号[]
访问 JSON 对象,可以进行以下操作;
- 获取、修改属性值;
- 使用 delete 关键字删除属性。
var person = {
"name" : "jaywee",
"age" : "17",
"hobby": ["java","music","basketball"]
}
var obj1 = person.name;
var obj2 = person["name"];
person.age = 10;
person["age"] = 10;
delete person.hobby;
delete person[hobby];
7.3.4、JSON数组
用中括号[]
表示 JSON 数组。
- 数组值必须是合法的 JSON 数据类型(数字, 字符串, 布尔值, 对象, 数组或 null);
- 多个数组值之间使用逗号
,
分割。
访问 JSON 数组值
通过索引值(下标从0开始)访问数组,可以进行以下操作;
- 获取、修改属性值;
- 使用 delete 关键字删除属性。
var person = {
"name" : "jaywee",
"age" : "17",
"hobby": ["java","music","basketball"]
}
var obj = person.hobby[0];
person.hobby[0] = "spring";
delete person.hobby[0];
7.3.5、JSON文件
- JSON 文件的 文件 类型:
.json
- JSON 文本的 MIME 类型:
application/json
7.4、JSON和JS对象转换
JSON 通常用于与服务端交换数据。
- 从服务器接收数据:将 JSON 字符串解析为 JavaScript 对象;
- 向服务器发送数据:将 JavaScript 对象 转换为 JSON 字符串。
7.4.1、parse
使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象:即字符串 → 对象。
JSON解析实例
-
假设从服务器接收到以下数据
{ "name":"jaywee", "age":"17" }
-
使用 JSON.parse() 方法解析数据,将其转化为 JavaScript 对象
var obj = JSON.parse(\'{ "name":"jaywee", "age":"17" }\');
7.4.2、stringify
使用 JSON.stringify() 方法将 JavaScript 对象转换为 JSON 字符串:即对象→ 字符串。
JSON对象转换实例
-
假设要向服务器发送以下数据
var obj = { "name":"jaywee", "age":"17" }
-
使用 JSON.parse() 方法解析数据,将其转化为 JavaScript 对象
var myJson = JSON.stringify(obj);
7.5、测试
-
编写一个 JS 对象
let person = { "name": "jaywee", "age": 17, "hobby": ["java", "music", "basketball"] } console.log(person)
-
将 JS 对象转换为 JSON 字符串
let myJson = JSON.stringify(person) console.log(myJson)
-
将 JSON 字符串转换为 JS 对象
let obj = JSON.parse(myJson) console.log(obj)
以上是关于SpringMVC:四JSON的主要内容,如果未能解决你的问题,请参考以下文章
Spring注解处理Ajax请求-JSON格式[系统架构:Spring+SpringMVC+MyBatis+MySql]