一、JSON简述
JSON是一种轻量级的数据交换格式,经常会遇到的情景包括写API文档的时候,写java的接口请求时,对于域和值会以JSON形式请求。通常的写法如下:
当我们在进行前后端交互,或者后端请求其他接口时,也常会使用JSON对象传递请求体。
POST "Content-type", "text/xml; charset=utf-8" 'url'
{
"key1":"value1",
"key2":"value2"
}
二、不同JSON格式
1.JSON Object:即单个JSON对象,如:
这里包含string、int和boolean等基本数值格式
{"name":"小明" , "age":20 , "male":true}
2、JSON Array:即JSON数组。
[{"name":"小明" , "age":20 , "male":true},
{"name":"小红" , "age":22 , "male":false}]
三、不同JDK包的JSON
当我们在实际使用代码时,通常会遇到不同开源组件包下的JSON选择,常用的包括:阿里的fastjson、gson、jackson等。
简述以下FAST JSON:
FAST JSON是一个java类库,可以被用来把Java对象转换成Json方式,也可以把Json字符串转换成对应的Java对象,Fastjson可以作用于任何Java对象,包括我们自定义的业务类Java对象。
常用的转换包括:fastjson常用转换方法
四、JSON扩展
@JSONFiled注解:
在对entity的key名称进行输出时,常需要对于驼峰和下划线写法有不同的自动转换。这时候使用该注解和JSON.toString()可以转换为注解中我们自定义的名字。
public class Student{
@JSONField(name='stu_name')
private String stuName;
@JSONField(name='stu_age')
private int stuAge;
@JSONField(name='stu_sex')
private boolean stuSex;
}