软件编程
位置:首页>> 软件编程>> java编程>> Jackson 反序列化时实现大小写不敏感设置

Jackson 反序列化时实现大小写不敏感设置

作者:平静不绝望  发布时间:2021-11-18 06:17:18 

标签: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时会把大写转换成小写

解决办法:

1、在变量时加上: @JsonProperty

2、在set/get方法加上:@JsonIgnore

来源:https://beijingngcc.blog.csdn.net/article/details/85009163

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com