数组和Set,List,Map都不一样我们可以这样将一个数组序列化
测试代码
private static void testArray(){
Empolyee[] empolyees = new Empolyee[3];
for (int i =0;i<3;i++){
empolyees[i] = new Empolyee("longxia", i, 10d + i);
}
String result = getGson().toJson(empolyees);
System.out.println(result);
}
输出结果为
[{"name":"longxia","department":0.0,"score":10.0},{"name":"longxia","department":1.0,"score":11.0},{"name":"longxia","department":2.0,"score":12.0}]
这里我们看到数组和前面的List vector输出都以一样的,都是一个数组,那么反序列化呢?
原json串为:
[{"name":"longxia","department":0.0,"score":10.0},{"name":"longxia","department":1.0,"score":11.0},{"name":"longxia","department":2.0,"score":12.0}]
测试代码为:
private static void testDesArray(){
String srcJson = "[{\"name\":\"longxia\",\"department\":0.0,\"score\":10.0},"
+ "{\"name\":\"longxia\",\"department\":1.0,\"score\":11.0},"
+ "{\"name\":\"longxia\",\"department\":2.0,\"score\":12.0}]";
Empolyee[] empolyees = getGson().fromJson(srcJson,Empolyee[].class);
for (Empolyee e:empolyees) {
System.out.println(e.name+" "+e.department+" "+e.score);
}
}
输出结果为:
longxia 0.0 10.0
longxia 1.0 11.0
longxia 2.0 12.0
同时多维数组或者复杂的数组都是可以这么用,使用方式和list,vector 也是一样的