Spring注解之json 数据处理

目录

1. 过滤 json 数据

2. 格式化 json 数据

3. 扁平化对象


1. 过滤 json 数据

@JsonIgnoreProperties 作用在类上用于过滤掉特定字段不返回或者不解析。

//生成json时将userRoles属性过滤
@JsonIgnoreProperties({"userRoles"})
public class User {
​private String userName;private String fullName;private String password;@JsonIgnoreprivate List<UserRole> userRoles = new ArrayList<>();
}

@JsonIgnore一般用于类的属性上,作用和上面的@JsonIgnoreProperties 一样。

public class User {
​private String userName;private String fullName;private String password;//生成json时将userRoles属性过滤@JsonIgnoreprivate List<UserRole> userRoles = new ArrayList<>();
}
2. 格式化 json 数据

@JsonFormat一般用来格式化 json 数据。:

比如:

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone="GMT")
private Date date;
3. 扁平化对象
@Getter
@Setter
@ToString
public class Account {@JsonUnwrappedprivate Location location;@JsonUnwrappedprivate PersonInfo personInfo;
​@Getter@Setter@ToStringpublic static class Location {private String provinceName;private String countyName;}@Getter@Setter@ToStringpublic static class PersonInfo {private String userName;private String fullName;}
}

未扁平化之前:

{"location": {"provinceName":"河北","countyName":"廊坊"},"personInfo": {"userName": "ww1234","fullName": "shanghai"}
}

使用@JsonUnwrapped 扁平对象之后:

@Getter
@Setter
@ToString
public class Account {@JsonUnwrappedprivate Location location;@JsonUnwrappedprivate PersonInfo personInfo;......
}
{"provinceName":"河北","countyName":"廊坊","userName": "ww1234","fullName": "shanghai"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大宋咨询如何进行汽车门店6S标准现场检查

随着汽车市场的快速发展&#xff0c;汽车门店的现场管理日益受到关注。6S标准现场检查作为一项重要的评估工具&#xff0c;正在被越来越多的汽车厂商和经销商采用。 6S标准现场检查是指对汽车门店的整理、整顿、清洁、清扫、素养和安全六个方面进行规范和优化&#xff0c;旨在…

js中replaceAll在浏览器不兼容问题

前端项目有时候会出现浏览器使用replaceAll方法报错问题&#xff0c;原因是一些旧版浏览器对replaceAll不是很兼容 解决办法有三种&#xff1a; 1、str.replace(/word/g,“Excel”); g 的意义是&#xff1a;执行全局匹配&#xff08;查找所有匹配而非在找到第一个匹配后停止&am…

[AIGC] Java注解的生效时机详解

在Java中&#xff0c;Annotation&#xff08;注解&#xff09;是一种用于描述代码的元数据。它们可以为我们的代码提供额外的信息&#xff0c;这些信息可以在编译时或运行时被读取。而注解的生效时机&#xff0c;主要由Java的Retention注解来控制。 一、注解的生效时机 Java中…

-XX:MaxTenuringThreshold

-XX:MaxTenuringThreshold&#xff0c;XX:PrintTenuringDistribution 虚拟机提供一个年龄&#xff0c;默认是15&#xff0c;对象超过这个年龄范围就会晋升到老年代 【XX:PrintTenuringDistribution 可以输出age的额外信息】 -XX:MaxTenuringThreshold -> https://www.jians…

线性规划在多种问题形式下的应用

线性规划的用处非常的广泛&#xff0c;这主要是因为很多类型的问题是可以通过转化的方式转化为线性规划的问题。例如需要再图论中寻找起始点到给定的点的最短路径问题&#xff1a; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 假设要计算从节点0到节点…

springboot配置多数据源以及事务问题

一、背景以及为什么需要学习 在高并发的项目中,单数据库已无法承载大数据量的访问,因此需要使用多个数据库进行对数据的读写分离,此外就是在微服化的今天,我们在项目中可能采用各种不同存储,因此也需要连接不同的数据库,居于这样的背景,这里简单分享实现的思路以及实现…

点亮城市名片丨计讯物联智慧灯杆系统在通讯基地的成功应用

项目背景 在国家新型城镇化大背景下&#xff0c;十四五规划纲要强调“加快数字化发展&#xff0c;建设数字中国”&#xff0c;明确提出“以数字化助推城乡发展和治理模式创新”&#xff0c;全面提高城市的运行效率和宜居程度。 项目概况 为满足灯杆灯光亮度的远程智能管理、对…

记录 android studio 通过安装NDK 编译C文件,得到需要的so文件

只怪自己太健忘&#xff0c;每次网上查了一圈&#xff0c;搞定后&#xff0c;再遇到又发现不会操作了&#xff0c;特此记下 不废话直接上步骤 &#xff08;1&#xff09; 进入AS的settinging如下界面 &#xff08;2&#xff09;选中图片箭头两个文件 进行下载 &#xff08;…

【知识管理】假设检验pvalue的计算

让我们通过一个具体的例子来解释P值的计算过程&#xff0c;假设我们有一个模型用于区分SCD&#xff08;亚临床痴呆&#xff09;和HC&#xff08;健康对照&#xff09;的分裂。我们通过置换测试来计算模型性能的P值。 原始模型性能评估 首先&#xff0c;我们在原始数据集上运行…

web学习笔记(二十一)

目录 1.构造函数创建对象 1.1规则 1.2 new关键字调用构造函数时&#xff0c;函数内部做了什么事情&#xff1f; 1.3总结 2.混合模式创建对象 3.JavaScript 继承---借助构造函数 4.原型链 4.1原型链实现方法继承 5.完美的组合继承 6.call方法的使用 1.构造函数创建对象…

React之数据绑定以及表单处理

一、表单元素 像<input>、<textarea>、<option>这样的表单元素不同于其他元素&#xff0c;因为他们可以通过用户交互发生变化。这些元素提供的界面使响应用户交互的表单数据处理更加容易 交互属性&#xff0c;用户对一下元素交互时通过onChange回调函数来监听…

回溯例题(leetcode17/37)

文章目录 leetcode37leetcode17 回溯跟枚举差不多。要注意“回溯”&#xff0c;别忘记“回”之前把之前的改动都复原。 leetcode37 leetcode37是解数独问题。本题保证有且仅有唯一解。 思路&#xff1a;先把空格子的位置存下来&#xff0c;然后对每一个空位置挨个枚举1-9。枚…

Excel常用公式总结非常实用

16个最实用的Excel万能公式 1、多条件判断 IF(And(条件1,条件2..条件N),条件成立返回值) IF(or(条件1,条件2..条件N),条件成立返回值) 2、多条件查找 Lookup(1,0/((条件1*条件2*...条件N)),返回值区域&#xff09; 3、多条件求和 Sumifs(值区域,判断区域1,条件1,判断区域2,条…

Java 数据库面试题解析(下)

20. Hash索引和B树索引的区别&#xff1f;【重点】 hash索引&#xff1a;等值查询效率高&#xff0c;不能排序&#xff0c;不能进行范围查询&#xff1b; B树索引&#xff1a;数据有序&#xff0c;适合范围查询。 21. MySQL中三种锁的级别&#xff1f;【了解】 表级锁&…

2024最新精华版Java面试题之spring篇

目录 一、Java面试题之spring篇 1、什么是spring? 2、你们项目中为什么使用Spring框架&#xff1f; 3、 Autowired和Resource关键字的区别&#xff1f; 4、依赖注入的方式有几种&#xff0c;各是什么? 5、讲一下什么是Spring容器&#xff1f; 6、说说你对Spring MVC的理…

Java毕业设计-基于springboot开发的私人健身与教练预约系统-毕业论文+答辩PPT(有源代码)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台功能模块2.1管理员功能2.2用户功能2.3教练功能 四、毕设内容和源代码获取总结 [Java毕业设计-基于springboot…

Android 11.0 内置google tts语音包功能实现

1.前言 在11.0的系统rom产品开发中,在gms的相关项目对于文字转语音包功能不是内置功能,需要自己下载google的tts语音包,然后内置,在设置 google tts语音包apk作为默认的tts语音引擎功能,接下来分析实现这个功能 2.内置google tts语音包功能实现的核心类 frameworks/ba…

Chat GPT4.0:开启智能对话的新纪元

介绍 Chat GPT4.0是基于GPT4.0架构开发的一款强大的智能对话模型。作为人工智能领域的最新进展&#xff0c;Chat GPT4.0引领着智能对话技术的新纪元。本文将探讨Chat GPT4.0的创新之处以及对智能对话发展的推动作用。 Chat GPT4.0的创新之处 Chat GPT4.0在前一版本的基础上进…

c++知识点之 --引用

本质&#xff1a;给变量起别名 语法&#xff1a;数据类型 &别名 原名 特点&#xff1a;传引用比传值的效率高很多 注意事项&#xff1a; 引用必须初始化&#xff0c;且初始化不能为空。引用不能改变引用关系&#xff08;引用的底层是指针常量&#xff08;type * const …

前端 JS 经典:for-in 和 for-of 用法区别

1. for-in 对于 string, object, array 类型使用 for-in const str "qwe"; const arr ["yqcoder", "db"]; const obj {name: "yqcoder",age: 18, };for (let i in str) {console.log(i); // 0 1 2 } for (let i in arr) {console…