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反序列化,将json格式的字符串转化为对象,list或map JSON.parseObjectlist = 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.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集合
Listlist = 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":"张三"}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)