序列化和反序列化测试
1.int2.double3.string4.Array5.Class6.List<> 结果展示:下节:Spring+gson/jackson 序列化和反序列化测试 1.int
@org.junit.jupiter.api.Test public void testInt(){ Gson gson=new Gson(); System.out.println("测试int序列化"+gson.toJson(1)); Integer number1=gson.fromJson("1", Integer.class); int number=gson.fromJson("265",int.class); }
2.double@org.junit.jupiter.api.Test public void testDouble(){ Gson gson=new Gson(); System.out.println("测试double序列化"+gson.toJson(10.156)); System.out.println("测试double反序列化"+gson.fromJson("123.00",Double.class)); }
3.string@org.junit.jupiter.api.Test public void testString(){ Gson gson=new Gson(); System.out.println("测试字符串序列化"+gson.toJson("ggzx")); System.out.println("测试字符串反序列化"+gson.fromJson(gson.toJson("ggzx",String.class))); }
4.Array@org.junit.jupiter.api.Test public void testArray(){ Gson gson=new Gson(); int[] values={1,2,5,898,4}; System.out.println("测试数组序列化"+gson.toJson(values)); System.out.println("测试数组反序列化"); int[] values1=gson.fromJson(gson.toJson(values),int[].class); for (int a:values1) { System.out.print(a); } }
5.Class@org.junit.jupiter.api.Test public void testClass(){ Gson gson=new Gson(); User user=new User("123","send-data",12,"123456",56.0); System.out.println("测试对象序列化"+gson.toJson(user)); System.out.println("测试对象反序列化"+user); }
6.List<> @org.junit.jupiter.api.Test public void testClassList(){ Gson gson=new Gson(); User user1=new User("123","send-data",12,"123456",56.0); User user2=new User("123","send-data",12,"123456",56.0); User user3=new User("123","send-data",12,"123456",56.0); List
@org.junit.jupiter.api.Test public void testMap(){ Gson gson=new Gson(); Map
8.复杂对象
@org.junit.jupiter.api.Test public void testComplexClass(){ Gson gson=new Gson(); Zoo zoo=new Zoo(); ZooKeeper zooKeeper=new ZooKeeper("ggzx",18); zoo.setZooKeeper(zooKeeper); Lion lion=new Lion("lion1",3); Lion lion2=new Lion("lion2",5); Lion lion3=new Lion("lion3",5); List lionList=new linkedList<>(); lionList.add(lion); lionList.add(lion2); lionList.add(lion3); Monkey monkey=new Monkey("monkey1",7); Monkey monkey2=new Monkey("monkey2",8); Monkey monkey3=new Monkey("monkey3",9); List
下面分类进行测试序列化和反序列化=======>>>>测试int序列化1测试double序列化10.156测试double反序列化123.0测试数组序列化[1,2,5,898,4]测试数组反序列化1258984测试字符串序列化"ggzx"测试字符串反序列化ggzx测试对象序列化{"code":"123","mode":"send-data","age":12,"password":"123456","salary":56.0}测试对象反序列化User{code='123', mode='send-data', age=12, password='123456', salary=56.0}测试List<>序列化:[{"code":"123","mode":"send-data","age":12,"password":"123456","salary":56.0},{"code":"123","mode":"send-data","age":12,"password":"123456","salary":56.0},{"code":"123","mode":"send-data","age":12,"password":"123456","salary":56.0}]测试List<>反序列化[User{code='123', mode='send-data', age=12, password='123456', salary=56.0}, User{code='123', mode='send-data', age=12, password='123456', salary=56.0}, User{code='123', mode='send-data', age=12, password='123456', salary=56.0}]User{code='123', mode='send-data', age=12, password='123456', salary=56.0}User{code='123', mode='send-data', age=12, password='123456', salary=56.0}User{code='123', mode='send-data', age=12, password='123456', salary=56.0}测试map序列化{"password":"123","user":"ggzx"}测试map反序列化{password=123, user=ggzx}测试序列化复杂对象{"zooKeeper":{"name":"ggzx","age":18},"lionList":[{"name":"lion1","age":3},{"name":"lion2","age":5},{"name":"lion3","age":5}],"monkeyList":[{"name":"monkey1","age":7},{"name":"monkey2","age":8},{"name":"monkey3","age":9}]}测试复杂对象反序列化Zoo{zooKeeper=ZooKeeper{name='ggzx', age=18}, lionList=[Lion{name='lion1', age=3}, Lion{name='lion2', age=5}, Lion{name='lion3', age=5}], monkeys=[Monkey{name='monkey1', age=7}, Monkey{name='monkey2', age=8}, Monkey{name='monkey3', age=9}]}
9.自定义对象
如果想使用毕竟复杂的对象,比如
user:存储用户信息
dataList:存放很多种类的List<>数据,
我们可以把这两个对象封装在同一个类中,比如封装成Data类
在初始化数据之后,直接将其gson.toJson即可;
在接收的时候,也只需要gons.fromJson(json,Data.class);