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实现分布式事务的三种方案
Jun 11 Java/Android
Java各种比较对象的方式的对比总结
Jun 20 Java/Android
Java循环队列与非循环队列的区别总结
Jun 22 Java/Android
Java集成swagger文档组件
Jun 28 Java/Android
Java后台生成图片的完整步骤
Aug 04 Java/Android
MybatisPlus EntityWrapper如何自定义SQL
Mar 22 Java/Android
Java中的继承、多态以及封装
Apr 11 Java/Android
详解Flutter自定义应用程序内键盘的实现方法
Jun 14 Java/Android
Android Gradle 插件自定义Plugin实现注意事项
Jun 16 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 Java/Android
Java获取字符串编码格式实现思路
Sep 23 Java/Android
Maven学习----Maven安装与环境变量配置教程
Spring Boot两种全局配置和两种注解的操作方法
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 #Java/Android
elasticSearch-api的具体操作步骤讲解
Java SSH 秘钥连接mysql数据库的方法
一篇文章带你复习java知识点
Java elasticsearch安装以及部署教程
You might like
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
php 中英文语言转换类代码
2011/08/11 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
destoon复制新模块的方法
2014/06/21 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
Python解惑之True和False详解
2017/04/24 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
python3实现猜数字游戏
2020/12/07 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
python常用数据重复项处理方法
2019/11/22 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
在pycharm创建scrapy项目的实现步骤
2020/12/01 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
电气专业应届生求职信
2013/11/01 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
Python快速实现一键抠图功能的全过程
2021/06/29 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记