FastJson阿里巴巴开源的轻量级Json框架,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
添加依赖序列化,将对象,list,map转化为String类型的json字符串 1.JSON.toJSonStringcom.alibaba fastjson1.2.66
// JSON.toJSONString可以将java对象(user)转化为String类型的json字符串
User user = new User(1,"张三",18,"江苏");
String s = JSON.toJSonString(user);
System.out.println(s);
//将list集合转化为String类型的json字符串,也是调用JSON.toJSonString
List list = new ArrayList<>();
list.add(new User(1,"张三",18,"徐州"));
list.add(new User(2,"李四",19,"徐州"));
String s = JSON.toJSonString(list);
System.out.println(s);
//将map转化为String类型的json字符串,也是调用JSON.toJSonString
HashMap userMap = new HashMap<>();
userMap.put("user1",new User(1,"张三",18,"徐州"));
userMap.put("user2",new User(2,"李四",19,"徐州"));
String s1 = JSON.toJSonString(userMap);
反序列化,将json格式的字符串转化为对象,list或map
JSON.parseObject
// JSON.parseObject可以将String类型的json字符串转化为java对象(user)
User user = new User(1,"张三",18,"江苏");
//将user对象转化为json格式的字符串
String s2 = JSON.toJSonString(user);
//再将json的字符串转化为user对象
User user1 = JSON.parseObject(s2, User.class);
System.out.println(user1);
JSON.parseArray
可以将String类型的Json字符串转化为list集合
List list = new ArrayList<>();
list.add(new User(1,"张三",18,"徐州"));
list.add(new User(2,"李四",19,"徐州"));
String s = JSON.toJSonString(list);
List objects = JSON.parseArray(s, User.class);
System.out.println(objects);
map的反序列化,比较特殊,虽然也调用 JSON.parseObject这个方法,但是还是有点小区别的,具体看代码
HashMapuserMap = new HashMap<>(); userMap.put("user1",new User(1,"张三",18,"徐州")); userMap.put("user2",new User(2,"李四",19,"徐州")); String s1 = JSON.toJSonString(userMap); //因为map的特殊性,再调用JSON.parseObject时,第二个参数要这么传,new TypeReference
@JSONField注解使用
name:指序列化的时候指定属性名,name变成studentName
format:指Date类型 序列化的时候指定日期类型的格式
ordinal:规定字段的顺序
serialize/deserialize:指定字段不序列化
//name:指序列化的时候指定属性名,name变成studentName
@JSonField(name = "studentName")
public String name;
//format:指序列化的时候指定日期类型的格式
@JSonField(format = "yyyy-MM-dd",ordinal = 1,serialize = false)
private Date birthday;
"user1":{"address":"徐州","age":18,"birthday":"2021-10-28","id":1,"studentName":"张三"}

![[会写代码的健身爱好者成长史]之FastJson用法 [会写代码的健身爱好者成长史]之FastJson用法](http://www.mshxw.com/aiimages/31/356814.png)
