作者:字母哥博客
文章目录
-
-
方式一:配置文件
-
方式二:java Config
-
在Spring框架内使用Jackson的时候,通常需要一些特殊的全局配置,来应对我们JSON序列化与反序列化中出现的各种问题。
Spring Boot 提供了两种配置方式,一是配置文件的方式
spring:
jackson:
#日期类型格式化
date-format: yyyy-MM-dd HH:mm:ss
serialization:
#格式化输出,通常为了节省网络流量设置为false。因为格式化之后会带有缩进,方便阅读。
indent_output: false
#某些类对象无法序列化的时候,是否报错
fail_on_empty_beans: false
#设置空如何序列化,见下文代码方式详解
defaultPropertyInclusion: NON_EMPTY
deserialization:
#对象json中有不存在的属性时候,是否报错
fail_on_unknown_properties: false
parser:
#允许出现特殊字符和转义符
allow_unquoted_control_chars: true
#允许出现单引号
allow_single_quotes: true
二是通过代码的方式,方式一更容易,方式二更灵活。方式一无法解决的问题,尝试使用方式二。
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
{
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
// 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化
// Include.Include.ALWAYS 默认
// Include.NON_DEFAULT 属性为默认值不序列化
// Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化,则返回的json是没有这个字段的。这样对移动端会更省流量
// Include.NON_NULL 属性为NULL 不序列化
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// 允许出现特殊字符和转义符
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
# 面试结束复盘查漏补缺
每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。
**以下最新总结的阿里P6资深Java必考题范围和答案**,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~
**重要的事说三遍,关注+关注+关注!**
![历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer](https://img-blog.csdnimg.cn/img_convert/6588dde29c84701461fb4b8a4b66a90e.webp?x-oss-process=image/format,png)
![image.png](https://img-blog.csdnimg.cn/img_convert/c30b84507622b7287fea13566ac45dad.webp?x-oss-process=image/format,png)
**更多笔记分享**
![历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer](https://img-blog.csdnimg.cn/img_convert/73704e666c09d448dffd2de6d85e17c9.webp?x-oss-process=image/format,png)
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
228942)]
**更多笔记分享**
[外链图片转存中...(img-nrzVeAPU-1725514228942)]
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0