【问题标题】:JSON Jackson serialize deserialize List of ListJSON杰克逊序列化反序列化列表列表
【发布时间】: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]->...

标签: java json jackson


【解决方案1】:

问题是由于一个非常深的对象不可序列化。真的很深很浅。谢谢大家。

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 2013-11-04
    • 2015-02-23
    • 2013-06-26
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多