com.alibaba.fastjson.JSON对类对象的序列化与反序列化
发布时间:2020-12-16 18:43:10 所属栏目:百科 来源:网络整理
导读:1. 目标 把类的对象存储到字符串可存储 2. 类定义 public interface JsonInterface {} mport com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter;@Setter@Getter public class JsonVo implements JsonInterface { private String id; p
1. 目标把类的对象存储到字符串可存储 2. 类定义public interface JsonInterface { } mport com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter; @Setter @Getter public class JsonVo implements JsonInterface { private String id; private String name; public JsonVo(String id,String name) { super(); this.id = id; this.name = name; } @Override public String toString() { return String.format("id:%s |||| name:%s",id,name); } } 3. 测试public void test() { JsonInterface tmp = new JsonVo("id1","name1"); String json = JSON.toJSONString(tmp); System.out.println(json); JsonInterface jsonVo = JSON.parSEObject(json,JsonVo.class); System.out.println(jsonVo); System.out.println("--------"); byte[] bytes = JSON.toJSONBytes(tmp); System.out.println(bytes); JsonInterface jsonVo2 = JSON.parSEObject(bytes,JsonVo.class); System.out.println(jsonVo2); } 结果 {"id":"id1","name":"name1"} id:id1 |||| name:name1 -------- [[email?protected] id:id1 |||| name:name1 4. FastjsonFastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景 5.?TypeReference例1 public void test2() { List<Integer> list = new ArrayList<>(); list.add(1); list.add(9); list.add(4); list.add(8); JSONObject jsonObj = new JSONObject(); jsonObj.put("a",list); System.out.println(jsonObj); List<String> list2 = jsonObj.getObject("a",new TypeReference<List<Integer>>(){}); System.out.println(list2); } 结果 {"a":[1,9,4,8]} [1,8] 例2 public void test3() { List<JsonVo> list = new ArrayList<>(); list.add(new JsonVo("id1","name1")); list.add(new JsonVo("id2","name2")); list.add(new JsonVo("id3","name3")); JSONObject jsonObj = new JSONObject(); jsonObj.put("a",new TypeReference<List<JsonVo>>(){}); System.out.println(list2); } 结果 {"a":[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]} [id:id1 |||| name:name1,id:id2 |||| name:name2,id:id3 |||| name:name3] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |