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采取的方向.

相关文章

前言 数据报表是许多项目都有的模块,一般都是导出Excel或者...
背景 阿里java开发规范是阿里巴巴总结多年来的最佳编程实践,...
# 前言 在面试这一篇我们介绍过[CountDownLatch和CyclicBarr...
多线程编程是每一个开发必知必会的技能,在实际项目中,为了...
背景 在我们系统中有这么一个需求,业务方会通过mq将一些用户...
# 前言 为了更好的进行开发和维护,我们都会对程序进行分层设...