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


Posted in Java/Android onJune 29, 2021

常用配置

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
Java并发编程之详解CyclicBarrier线程同步
Jun 23 Java/Android
Feign调用传输文件异常的解决
Jun 24 Java/Android
Spring Boot 排除某个类加载注入IOC的操作
Aug 02 Java/Android
mybatis中注解与xml配置的对应关系和对比分析
Aug 04 Java/Android
Java tomcat手动配置servlet详解
Nov 27 Java/Android
Java中的随机数Random
Mar 17 Java/Android
InterProcessMutex实现zookeeper分布式锁原理
Mar 21 Java/Android
Java 通过手写分布式雪花SnowFlake生成ID方法详解
Apr 07 Java/Android
Android开发之底部导航栏的快速实现
Apr 28 Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 Java/Android
使用Postman测试需要授权的接口问题
Jun 21 Java/Android
Java使用HttpClient实现文件下载
Aug 14 Java/Android
Maven学习----Maven安装与环境变量配置教程
Spring Boot两种全局配置和两种注解的操作方法
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 #Java/Android
elasticSearch-api的具体操作步骤讲解
Java SSH 秘钥连接mysql数据库的方法
一篇文章带你复习java知识点
Java elasticsearch安装以及部署教程
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
php实现微信发红包
2015/12/05 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
python del()函数用法
2013/03/24 Python
python实现批量改文件名称的方法
2015/05/25 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
html5唤醒APP小记
2019/03/27 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
中学家长会邀请函
2014/02/03 职场文书
幼师求职信
2014/06/23 职场文书
会议简报格式范文
2015/07/20 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
Python函数式编程中itertools模块详解
2021/09/15 Python
nginx之queue的具体使用
2022/06/28 Servers