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 相关文章推荐
分析Netty直接内存原理及应用
Jun 14 Java/Android
Feign调用传输文件异常的解决
Jun 24 Java/Android
分析JVM源码之Thread.interrupt系统级别线程打断
Jun 29 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
idea以任意顺序debug多线程程序的具体用法
Aug 30 Java/Android
Java实现房屋出租系统详解
Oct 05 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
Java 多态分析
Apr 26 Java/Android
Spring Boot 实现 WebSocket
Apr 30 Java/Android
Java服务调用RestTemplate与HttpClient的使用详解
Jun 21 Java/Android
spring boot实现文件上传
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
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
Python获取任意xml节点值的方法
2015/05/05 Python
Python 使用with上下文实现计时功能
2018/03/09 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
详解Python用户登录接口的方法
2019/04/17 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
村党支部书记承诺书
2014/05/29 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
小学语文国培研修日志
2015/11/13 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Java中API的使用方法详情
2022/04/06 Java/Android