繁体   English   中英

GSON java.lang.IllegalArgumentException:类“ xx”声明了多个名为“ XX”的JSON字段以及StackOverflowError

[英]GSON java.lang.IllegalArgumentException: class 'xx' declares multiple JSON fields named 'XX' AND StackOverflowError

我想将映射到非常复杂的对象的sqlResult转换为JSON,以便将其值保存到redis数据库。 现在我遇到了错误

java.lang.IllegalArgumentException: class 'xx' declares multiple JSON fields named 'XX'

我如何解决此问题而又不破坏错误“ xx”中提到的类?
或者是否有其他库支持在多个JSON字段名称(例如json-io)之间来回转换JSON?


我使用以下建议的类类A更新了我的项目, 该类声明了多个JSON字段 ,以避免多个JSON字段。

但是现在我有另一个问题
嵌套的异常是:java.lang.StackOverflowError关于该问题的任何建议吗? 因为我正在使用非常大的集合/对象进行转换。

您没有发布非常详细的问题,因此希望这对您有所帮助:

您可能会遇到的问题是,该字段在您扩展的类中已经存在。 在这种情况下,该字段将已经存在于B类中。

说:

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类是这样的(当然可能还有更多的重复项):

public class B {
    private BigDecimal netAmountPcy;   
// getter and setter for the above fields

}

只需删除A类字段“ netAmountPcy”,您将仍然拥有该字段(因为它扩展了该类)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM