我有一个从API返回的JSON,所以我无法更改它,问题是其中一个属性有时是一个空字符串,有时它是一个对象.
有时当我调用它时,foo是一个空字符串
{
"foo" : "",
"bar" : 0
}
Run Code Online (Sandbox Code Playgroud)
而在其他时候它是一个对象
{
"foo" : {"baz": 11},
"bar" : 2
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用杰克逊做到这一点?到目前为止,我发现的唯一方法是编写自定义解串器/串行器对.我对这种方法的问题是,这是一个深度嵌套的JSON结构,并且违规属性接近根...
是的,配置您ObjectMapper
接受空字符串作为null
对象.
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
Run Code Online (Sandbox Code Playgroud)
以上是杰克逊2+.杰克逊1有类似的配置,但configure
有点不同.
归档时间: |
|
查看次数: |
756 次 |
最近记录: |