我使用Jackson Json Mapper来解析我的服务器上的查询.
例如,我正在等待适合类My_class的查询:
class My_class {
String a;
String b;
}
我以这种方式反序列化查询:
public T Deserialize(String json, Class type) throws DeserializationException {
if (json == null || type == null) {
throw new IllegalArgumentException();
}
try {
return objectMapper.readValue(json, type);
} catch (JsonParseException e) {
throw new DeserializationException(e);
} catch (org.codehaus.jackson.map.JsonMappingException e) {
throw new DeserializationException(e);
} catch (IOException e) {
throw new DeserializationException(e);
}
}
以下是两个示例查询:
{"a":"test"}
{"a":"test", "b":null}
问题是我想知道用户何时向我发送仅包含字段a的查询以及何时发送字段b设置为null的查询.映射器在两种情况下都将字段b标记为空.
有什么更好的方法(并避免编写自己的反序列化器)?