Jackson 反序列化时实现大小写不敏感设置
更新时间:2021年06月29日 11:13:49 作者:平静不绝望
这篇文章主要介绍了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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等
这篇文章主要介绍了JDBC连接MySql数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能,需要的朋友可以参考下2018-05-05
SpringBoot整合RocketMQ实现消息发送和接收的详细步骤
这篇文章主要介绍了SpringBoot整合RocketMQ实现消息发送和接收功能,我们使用主流的SpringBoot框架整合RocketMQ来讲解,使用方便快捷,本文分步骤给大家介绍的非常详细,需要的朋友可以参考下2021-08-08
IntelliJ IDEA 老司机居然还没用过 Stream Trace功能(问题小结)
很多朋友酷爱Java8 Stream功能,但是在使用过程中总不是那么顺利,下面通过本文给大家分享idea Stream Trace调试过程遇到的问题,需要的朋友参考下吧2021-05-05


最新评论