一尘不染

杰克逊-必需的财产吗?

json

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

例如。

mapperObject.readValue( node, MyTargetClass.class )

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

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

我希望它以某种方式失败,并且仅在readValue包含ABC,DEF和GHI时才能成功。


阅读 196

收藏
2020-07-27

共1个答案

一尘不染

Jackson不包括验证功能,这是设计使然(即认为超出范围)。但是通常使用的是Bean验证API实现。这样做的好处是数据格式处理和验证逻辑之间的分离。这就是DropWizard之类的框架所使用的;这就是JAX-
RS(例如Jersey)向JAX-RS 2.0迈进的方向。

2020-07-27