0

有人可以向我指出一个类必须满足的标准才能为杰克逊使用默认反序列化的一个很好的解释吗?

我可以发帖并提供字符串/jsonObjects 的 HashMap 集合,但它不适用于连续包含相同信息的数据集。我尝试实现自己的反序列化器,但响应始终是“无法处理的实体”。我已经成功地使用了特定的类,但我试图通过传递一个数据集来概括我的解决方案。

显然,我需要更好地了解正在发生的事情!蒂亚!

4

1 回答 1

0

这取决于您班级的粗略类型。杰克逊专门处理:

  • 类型数组
  • Collection实现
  • Map实现
  • Enums
  • 其他

如果 type 不是前 4 个类别中的任何一个,它将被视为“Other”,并期望遵循公共字段或 getter 和/或 setter 的 Java Bean 约定。还必须有一个无参数构造函数(不必是公共的),或者另一个带有注释的构造函数@JsonCreator——期望一些公共的单参数构造函数(String, int/ Integer, long/ Long, boolean/ Boolean)在从 JSON 标量值绑定时也被接受。

但是要获得更多信息,您真的应该分享您获得的实际异常:以上只是所需内容的一般概念。Jackson 可以处理所有类型的类,并且对类的定义方式并不特别严格。但它确实对各种 JSON 结构如何与 POJO 匹配有期望。

于 2013-08-27T19:05:44.517 回答