该文章翻译自Gson Tutorial Series系列教程。该篇主要阐述了如何使用Gson映射嵌套类。
嵌套对象的序列化
我们希望通过实际的例子来阐述功能,因此让我们来扩展我们的UserSimple模型。在之前的发布中,user模型仅仅有一些基本的Java类型:
public class UserSimple {
String name;
String email;
boolean isDeveloper;
int age;
}
现在,我们的user还拥有家庭住址,家庭住址有它自己的类型为UserAddress:
public class UserNested {
String name;
String email;
boolean isDeveloper;
int age;
// new, see below!
UserAddress userAddress;
}
public class UserAddress {
String street;
String houseNumber;
String city;
String country;
}
换句话说,user现在由UserNested模型来表示了,在这个模型中添加了一个一对一关系的住址对象。住址由UserAddress模型表示。
在Java中,这两个模型可以以类明确分离开来,然后通过创建UserAddress userAddress成员变量以保持一个引用。但是在Json中我们没有类也没有引用。唯一的方式(除了通