我有一个基类(只读),可以从外部API提取数据:
public class Manager {
// so many fields
public User user;
// ...
}
由于字段用户丢失了某些字段,因此我需要创建新的User类。
public class NewUser extends com.readonly.User {
public String avatarUrl;
public String fullname;
public String address;
// ....
}
然后,我创建 NewManager 并将其用于从API提取数据。
public class NewManager extends com.readonly.Manager {
// so many fields
public NewUser user;
// ...
}
但是我遇到了错误:
java.lang.IllegalArgumentException: class com.sovannarith.model.NewManager declares multiple JSON fields named user
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:172) ~[gson-2.8.6.jar:na]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102) ~[gson-2.8.6.jar:na]
at com.google.gson.Gson.getadapter(Gson.java:458) ~[gson-2.8.6.jar:na]
at com.google.gson.Gson.fromJson(Gson.java:931) ~[gson-2.8.6.jar:na]
注意
- API的字段名为: user
- 在 Manager.class 和 NewManager.class 中,都有名为 user 的字段
- 我要使用 NewUser.class 的字段名称 user ,而不是 User.class
有可能这样做吗?