环境
java:1.8+
jackson-databind:2.9.1
代码
/**
* 使用的是JackJson,没有使用fastJson,
* 因为fastJson对转义符和特殊字符,空串,null支持的不够友好
* @param json
* @return
*/
public static XmlModel parser(String json) {
ObjectMapper objectMapper = new ObjectMapper();
//允许出现特殊字符和转义符
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
//允许出现单引号
objectMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
//支持结尾逗号
objectMapper.configure(JsonParser.Feature.ALLOW_TRAILING_COMMA, true);
//没有的属性不进行反序列化
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//支持null和空串
objectMapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
//这个类就是自定义的POJO类模型
XmlModel xmlModel = null;
try {
xmlModel = objectMapper.readValue(json, xmlModel.class);
} catch (IOException e) {
e.printStackTrace();
}
return xmlModel;
}
参考地址: