我使用 Jackson Json Mapper 解析服务器上的查询。
例如,我正在等待适合类的查询My_class
:
class My_class {
String a;
String b;
}
我以这种方式反序列化查询:
public <T> T Deserialize(String json, Class<T> 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
为null
两种情况。
有什么更好的方法来做到这一点(并避免编写我自己的反序列化器)?