微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 杰克逊 – 必需的财产?

我在对象映射器上使用Jackson的readValue()方法JSON文件中读取并将其转换为我的java对象.

例如.

mapperObject.readValue( node,MyTargetClass.class )

是否有任何可以在MyTargetClass上设置的注释来强制执行必需的属性?例如,如果我有一个具有属性ABC,DEF和GHI的JSON对象,并且我的Json是以下

{
  "ABC" : "somevalue"
  "DEF" : "someothervalue" 
}

我想要它以某种方式失败,如果它包含ABC,DEF和GHI,只能在readValue上成功.

解决方法

杰克逊不包括验证功能,而这是设计(即被认为是超范围的).但是通常使用的是 Bean Validation API的实现. 关于这一点的好处是数据格式处理和验证逻辑之间的解耦. 这就是DropWizard使用的框架这就是JAX-RS(如泽西)正在为JAX-RS 2.0采取的方向.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐