我有三个类UserMini,User和Reply。用户扩展UserMini,并在回复中包含一个UserMini对象以及内容和其他信息。在Reply类中创建UserMini(this.user)对象,如下所示:private void getUserObject () { this.user = (UserMini)new User(email, fname, lname, userid...);}UserMini类仅存储用户的fname和lname。我要执行以下操作:返回带有所有信息的Reply类的JSON值。我在答复类中使用以下代码来做到这一点:@Overridepublic String toString() { return new Gson().toJson(this);}这样做很好,存储在Reply对象中的所有内容的JSON映射。但是对于Reply的UserMini对象,输出以下值:user: accessToken: "0", email: "email@gmail.com", firstName: "FirstName", lastName: "LastName", picturePath: "Pic_path", refreshToken: "0", userId: "2"如您所见,我将父对象存储在Reply类中,尽管如此,Gson仍输出子对象的属性。我想避免使用Gson适配器,还有其他方法可以使Gson输出MiniUser Object的以下值:user: firstName: "FirstName", lastName: "LastName"
1 回答
![?](http://img1.sycdn.imooc.com/545868190001d52602200220-100-100.jpg)
慕桂英4014372
TA贡献1871条经验 获得超13个赞
Gson
正在使用getClass(
)方法确定对象的类型。反射是运行时。getClass()
返回对象的实际类型运行时,而不是最初声明的变量的静态类型。强制转换不会更改变量类型,只是告诉编译器将变量视为其他类型。编译强制转换丢失后,已编译的程序将没有有关代码中强制转换的信息。
添加回答
举报
0/150
提交
取消