JSON杰克逊序列化反序列化列表列表
Posted
技术标签:
【中文标题】JSON杰克逊序列化反序列化列表列表【英文标题】:JSON Jackson serialize deserialize List of List 【发布时间】:2013-05-20 04:43:30 【问题描述】:我使用 Json-Jackson 来序列化/反序列化我的对象,并且内置类一切顺利。 String、int等都很好。但现在我必须序列化/反序列化以特定方式构建的对象。遵循声明:
class A implements Serializable
private String id;
private List<B> bobjs;
...getters & setters (but not for String id)
class B implements Serializable
private String id;
private String label;
private List<C> cobjs;
...getters & setters (but not for String id)
class C implements Serializable
private String id;
private String label;
private BigDecimal counts;
...getters & setters (but not for String id)
如果我使用标准的序列化器/反序列化,它会告诉我一条错误消息,例如“java.lang.UnsupportedOperationException...”,因此它无法序列化/反序列化 bobjs。 我怎样才能以一般的方式做到这一点,所以我不写 3 个序列化器/反序列化器,而只告诉 Json-Jackson 当遇到“List”类型的对象时,它必须像数组一样序列化/反序列化它(例如)。 谢谢大家!
附:我在 google 上找到了示例,但它们仅适用于简单对象,而不适用于由 List.. 等组成的 List。
【问题讨论】:
你的问题很不清楚。包括您的自定义序列化程序(如果有)和完整的异常堆栈跟踪。 您能添加源代码和示例对象吗?我认为,您的问题与杰克逊无关。如果您仍然需要我们方面的帮助,请改进您的问题。 完整的堆栈跟踪是:java.lang.UnsupportedOperationException(通过引用链:TheResult["customData"]->java.util.HashMap["Datas"]->Data["bobjs"]- >java.util.ArrayList[0]->B["cobjs"]->java.util.ArrayList[0]->... 【参考方案1】:问题是由于一个非常深的对象不可序列化。真的很深很浅。谢谢大家。
【讨论】:
以上是关于JSON杰克逊序列化反序列化列表列表的主要内容,如果未能解决你的问题,请参考以下文章