我可以使用DataSet作为我的实体吗?

问题描述:

有人能指出我对杰克逊使用默认的deserializaton类时必须满足的标准的一个很好的解释吗?我可以使用DataSet作为我的实体吗?

我可以做一个帖子,并提供一个字符串/ jsonObjects的HashMap集合,但它不会与包含相同信息的数据集一起工作。我试图实现我自己的Deserializer,但答复总是“不可处理的实体”。我已经成功地使用了特定的类,但我试图通过传递一个数据集来概括我的解决方案。

显然我需要更好地了解发生了什么! TIA!

这取决于你的课程的粗略类型。杰克逊有专门的处理为:类型

  • 阵列
  • Collection实现
  • Map实现
  • Enum小号
  • 其他

如果类型是none的前4类,它将被视为“其他”,并预计遵循Java Bean惯例公共领域,或获得者和/或设定者。 还有必须是一个无参数的构造函数(不一定是公开的),或者用@JsonCreator注释的另一个构造 - 期待着某些公共单参数的构造函数(Stringint/Integerlong/Longboolean/Boolean)是当从JSON标量值绑定时也被接受。

但是为了获得更多信息,你应该分享你得到的实际例外:上面只是需要什么的一般想法。杰克逊可以和各种课程一起工作,对于课程的定义并不特别严格。但是它对于各种JSON结构如何与POJO相匹配确实存在期望。