我在对象映射器上使用Jackson的readValue()方法从JSON文件读取并将其转换为我的Java对象。
例如。
mapperObject.readValue( node, MyTargetClass.class )
我可以在MyTargetClass上设置任何注释以强制执行必需的属性吗?例如,如果我有一个具有ABC,DEF和GHI属性的JSON对象,而我的Json是以下内容
{ "ABC" : "somevalue" "DEF" : "someothervalue" }
我希望它以某种方式失败,并且仅在readValue包含ABC,DEF和GHI时才能成功。
Jackson不包括验证功能,这是设计使然(即认为超出范围)。但是通常使用的是Bean验证API实现。这样做的好处是数据格式处理和验证逻辑之间的分离。这就是DropWizard之类的框架所使用的;这就是JAX- RS(例如Jersey)向JAX-RS 2.0迈进的方向。