Json是一种轻量级的数据交换格式,是现阶段分布式开发下,前后端的主流数据交换格式。在开发过程中,Json和JavaBean之间可以实现序列化和反序列化,使用十分方便。
1 Json数据格式
Json数据有两种基本格式,一种是对象,一种是数组。两种数据格式相结合,Json就可表示绝大部分的数据。
1.1 Json对象
示例:
{
"id":1001,
"name":"zhangsan",
"sex":"男",
"age":24
}
使用花括号表示一个对象,对象属性采用键值对的形式,用逗号分隔。key 必须是字符串,value 可以是合法的 Json 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
1.2 Json对象数组
示例:
[
{"id":1001,"name":"zhangsan","sex":"男","age":24},
{"id":1002,"name":"lisi","sex":"男","age":25},
{"id":1003,"name":"wangwu","sex":"男","age":23}
]
表示多个数据或者对象的集合,使用中括号,数据之间用逗号分隔。Json 中数组值必须是合法的 Json 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
2 FastJson
FastJson是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,是阿里巴巴的开源框架。
开源地址:https://github.com/alibaba/fastjson
2.1引入依赖
<!-- json -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.56</version>
</dependency>
2.2主要API
JavaBean与Json对象之间的转换
String jsonString = JSONObject.toJSONString(student);
Student student = JSONObject.parseObject(jsonString,Student.class);
JavaList与Json对象之间的转换
String jsonString = JSONArray.toJSONString(students);
List<Student> students = JSONArray.parseArray(jsonString,Student.class);