我有一个类 A,它有一些私有字段,同一个类扩展了另一个类 B,它也有一些类 A 中的私有字段。
public class A extends B {
private BigDecimal netAmountTcy;
private BigDecimal netAmountPcy;
private BigDecimal priceTo;
private String segment;
private BigDecimal taxAmountTcy;
private BigDecimal taxAmountPcy;
private BigDecimal tradeFeesTcy;
private BigDecimal tradeFeesPcy;
// getter and setter for the above fields
}
B 类有一些 A 类中的私有字段
现在,当我尝试从上面的 A 类创建 JSON 字符串时,出现以下异常:
class com.hexgen.ro.request.A declares multiple JSON fields named netAmountPcy
如何解决这个问题?
由于它们是私有字段,因此在创建 json 字符串时应该不会有任何问题,我猜但我不确定。
我创建如下 json 字符串:
Gson gson = new Gson();
tempJSON = gson.toJson(obj);
这里obj是A类的对象
由于它们是私有字段,因此创建 json 字符串时不应该有任何问题
我不认为这个说法是正确的,GSON 在序列化时查找对象的私有字段,这意味着超类的所有私有字段都包含在内,并且当您有相同名称的字段时,它会抛出错误。
如果您不想包含任何特定字段,则必须将其标记为transient
关键字,例如:
private transient BigDecimal tradeFeesPcy;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)