提问者:小点点

Jackson-不将字符串“null”反序列化为空对象


我正在使用 Jackson 2.6.3 将 JSON 字符串反序列化为 Java 对象,我在下面有一段代码:

ObjectMapper objectMapper = new ObjectMapper();
HashMap<?, ?> result = objectMapper.readValue("null", HashMap.class);
// result is null 
System.out.println(result == null);

我想知道Jackson是否有任何配置可以不将String“null”转换为null对象,但抛出异常?


共1个答案

匿名用户

我不太了解Jackson,但是一个简单的方法怎么样,也许在你的实用类中,像这样:

public <T> T deserialize(final ObjectMapper objectMapper, final String jsonString, final Class<T> yourClass) throws Exception 
{
   if(jsonString == null || jsonString.equalsIgnoreCase("null"))
      throw new Exception(); //maybe change the type's exception
   return objectMapper.readValue(jsonString, yourClass);
}