这篇文章主要讲解了“Jackson反序列化时怎么实现大小写不敏感设置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Jackson反序列化时怎么实现大小写不敏感设置”吧!
常用配置
ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(Feature.IGNORE_UNKNOWN,true);objectMapper.configure(Feature.WRITE_BIGDECIMAL_AS_PLAIN,true);objectMapper.configure(JsonParser.Feature.ALLOW_MISSING_VALUES,true);objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES,false);//大小写脱敏 默认为false 需要改为tru
参考
com.fasterxml.jackson.databind.MapperFeature#ACCEPT_CASE_INSENSITIVE_PROPERTIES
使用注解方式:举例
public static void main(String[] args) throws IOException { String x = "{\n" + " \"TToUserName\":\"gh_a5624dd2db4e\",\n" + " \"FFromUserName\":\"ochvq0Kn35VlnTAcIJ3fRBAZTQUY\"" + " }"; ObjectMapper objectMapper = new ObjectMapper(); Result map = objectMapper.readValue(x, Result.class); System.out.println(map); objectMapper.writeValue(System.out,map); } private static class Result { private String ToUserName; private String FromUserName; @JsonProperty("ToUserName") public String getToUserName() { return ToUserName; } @JsonProperty("TToUserName") public void setToUserName(String toUserName) { ToUserName = toUserName; } @JsonProperty("FromUserName") public String getFromUserName() { return FromUserName; } @JsonProperty("FFromUserName") public void setFromUserName(String fromUserName) { FromUserName = fromUserName; } }
Jackson 转换大小写问题
Jackson转换json时会把大写转换成小写
解决办法:
在变量时加上: @JsonProperty
在set/get方法加上:@JsonIgnore
感谢各位的阅读,以上就是“Jackson反序列化时怎么实现大小写不敏感设置”的内容了,经过本文的学习后,相信大家对Jackson反序列化时怎么实现大小写不敏感设置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!