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

时间:2013-08-27 14:46:04

标签: jackson

有人能指出我对杰克逊使用默认deserializaton所必须达到的标准的一个很好的解释吗?

我可以发布一个帖子并提供一个字符串/ jsonObjects的HashMap集合,但它不能用于连续包含相同信息的数据集。我尝试实现自己的反序列化器,但响应总是“Unprocessable Entity”。我成功使用了特定的类,但我试图通过传递数据集来推广我的解决方案。

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

1 个答案:

答案 0 :(得分:0)

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

  • 类型数组
  • Collection实施
  • Map实施
  • EnumŠ
  • 其他

如果type不是前4个类别,则它将被视为“Other”,并且应该遵循公共字段或getter和/或setter的Java Bean约定。 还必须有一个无参数构造函数(不需要是公共的),或者用@JsonCreator注释的另一个构造函数 - 期望一些公共单参数构造函数(Stringint /从JSON标量值绑定时,也接受Integerlong / Longboolean / Boolean)。

但是为了获得更多信息,你真的应该分享你得到的实际例外:上面只是对所需内容的一般概念。杰克逊可以使用各种类,并且对类的定义并不是特别严格。但它确实对各种JSON结构与POJO的匹配有所期望。