fastJson 前端对象null转为空字符串 “ “,空数组 [ ],空对象{ }

2023-11-04

Jackson请看 (@JsonProperty)
SpringBoot Jackson 将null转字符串"" ,List、Array转[],int转0

前提:使用FastJson的 @JsonField注解

import java.util.List;
 
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
 
@Configuration
@EnableWebMvc //覆盖springBoot的MVC配置
public class WebMvcConfigurer extends WebMvcConfigurationSupport{
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerialzerFeatures(
        		//List字段如果为null,输出为[]
        		SerializerFeature.WriteNullListAsEmpty,
        		//输出值为null的字段,默认为false
                SerializerFeature.WriteMapNullValue,
                //字符串null返回空字符串
                SerializerFeature.WriteNullStringAsEmpty,
                //空布尔值返回false
                SerializerFeature.WriteNullBooleanAsFalse,
                //结果是否格式化,默认为false
                SerializerFeature.PrettyFormat);  
                
        //格式化日期
        fastJsonConfig.setDateFormat("YYYY-MM-dd HH:mm:ss");
        convert.setFastJsonConfig(fastJsonConfig);
        converters.add(converter);
   }

SpringBoot2.0的新特性的问题,这个版本不支持WebMvcConfigurerAdpter ,新的实现有两种方法,如下:

一、
@Configuration
public class WebMvcConfg implements WebMvcConfigurer {
  //省略
}
二、
@Configuration
public class WebMvcConfg extends WebMvcConfigurationSupport {
  //省略
}
推荐

补充 : 查看过时方法的替代,技巧如下,过时方法前的箭头即为替代方法
在这里插入图片描述

参考文章:
springboot返回前端对象null转为空字符串
fastjson数据格式转换(一) SerializerFeature属性详解
WebMvcConfigurerAdpter 已过时

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fastJson 前端对象null转为空字符串 “ “,空数组 [ ],空对象{ } 的相关文章

  • 如何自定义BlockingQueue的阻塞行为

    我想创建一个阻塞队列 它根据自定义规则而不是队列中的项目数量来阻止生产者 例如 生产者生成一些文件并放入队列中 消费者经过一番分析后将它们转移到特定位置 对于上述场景 如果队列中的总文件大小达到某个阈值 我希望生产者等待生成新文件 如果总大
  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • V8 如何管理它的堆?

    我知道V8的垃圾收集在工作时 会从GC的root开始追踪 这样无法到达的对象就会被标记然后被清除 我的问题是GC是如何遍历那些对象的 必须有一个数据结构来存储所有可达或不可达的对象 位图 链接表 顺便说一句 JVM 也做同样的事情吗 艾伦秀
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • 使用多个构造函数创建不可变类

    我正在阅读这一页 https docs oracle com javase tutorial essential concurrency imstrat html关于在 Java 中创建不可变类 并决定根据页面上概述的规范修改我正在编写的类
  • Maven + Cobertura:无法找到[您的班级]。你指定了源目录吗?

    我有 MyMath 类 有两个简单的方法 multi 和 add 和测试类只会测试多种方法 public class MainTest Test public void testMultiply MyMath tester new MyMa
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • firestore快照监听器生命周期和定价之间有什么关系?

    在我的活动中 我有一个字符串列表 这些字符串表示我想要附加快照侦听器的 Firestore 文档 我使用 Acivity ModelView 存储库结构 在活动的 onCreate 中 我向 ViewModelProvider 询问适当的
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • Maven 多模块项目结构问题

    自从过去几周构建我的 Maven 多模块项目以来 这是我的一次有趣的经历 当我决定使用 Maven 进行构建生命周期管理时 我有几个原因希望选择 Maven A 大多数开发团队都是分开的 这样每个团队都可以在项目中的单独模块上工作 例如团队
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • java JFileChooser 文件大小过滤器

    我知道我可以按文件类型进行过滤 但是可以按文件大小进行过滤吗 例如 JFileChooser 仅显示 3 MB 以内的图片 简短的回答应该是 你尝试过什么 长答案是肯定的 JFileChooser fc new JFileChooser f
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • RMI 服务器:rmiregistry 或 LocateRegistry.createRegistry

    对于服务器端的RMI 我们需要启动吗rmiregistry程序 或者只是调用LocateRegistry createRegistry 如果两者都可以的话 各有什么优点和缺点 他们是同一件事 rmiregistry是一个单独的程序 您可以从
  • 为什么在尝试使用 Java 连接到 RDS PostgreSQL 数据库时会收到 SocketTimeoutException?

    我有一个 Spring 应用程序 我试图在 AWS 上托管 几天来我一直在努力配置 我有一个 EC2 实例 并且能够通过 SSH 连接到它 我还在 AWS 中设置了 Postgres RDS 数据库 但我无法使用 IDE 中的代码连接到它
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • Java泛型类型

    当我有一个界面时 public interface Foo
  • 使用 Android 的 Mobile Vision API 扫描二维码

    我跟着这个tutorial http code tutsplus com tutorials reading qr codes using the mobile vision api cms 24680关于如何构建可以扫描二维码的 Andr

随机推荐

  • 深入理解数据结构——图

    include
  • SAC(Soft Actor Critic)学习记录

    SAC Soft Actor Critic 学习记录 基本介绍 SAC Soft Actor Critic 算法在近年来受到了许多的关注 得到了不少深度强化学习研究者的好评 这篇文章主要包含的内容有SAC算法的理论分析和核心代码实现 与许多
  • ProGan,关键创新在于渐进式训练

    2018年 NVIDIA首次用ProGAN解决了这一挑战 研究人员一直无法生成高质量的大图像 例如1024 1024 ProGAN的关键创新在于渐进式训练 它首先用极低分辨率的图像 如4 4 训练生成器和鉴别器 然后每次增加一个更高分辨率的
  • Float比较大小

    目录 起因 结论 科学计数法 十进制转二进制 整数 基本 二进制科学计数法 总结 小数 基本 二进制科学计数法 总结 IEEE754标准存储 基本 起因 在阅读 阿里巴巴开发手册 时发现了一句话 强制 浮点数之间的等值判断 基本数据类型不能
  • Linux(查看服务cpu核数和内存)

    linux服务器中最重要的两个配置是CPU和内存 那么怎么开始查看CPU核数和内存 以及使用情况 是日常运维中使用最多的操作 查看linux服务器cpu最简单的命令是 cat proc cpuinfo 查看linux服务器cpu最简单的命令
  • TCP常见面试题

    1 画出TCP的报头 2 说一下TCP的三次握手过程 3 为什么TCP握手需要三次 TCP是可靠的传输控制协议 三次握手能保证数据可靠传输又能提高传输效率 如果TCP的握手是两次 lt 1 gt 如果client发给server的SYN报文
  • Spring 事务事件控制 解决业务异步操作解耦 TransactionSynchronizationManager Transaction

    场景 在业务中 经常需要在执行数据库操作后 事务提交完成 发送消息或事件来异步调用其他组件执行相应的业务操作 比如 用户注册成功后 发送激活码或激活邮件 如果用户保存后就执行异步操作发送激活码或激活邮件 但是前面用户保存后发生异常 数据库进
  • kmeans聚类簇个数选择

    借助sklearn库实现kmeans聚类和轮廓系数计算 from sklearn cluster import KMeans from sklearn metrics import silhouette score K range 2 20
  • 使用Python与Stm32进行通信

    方法 利用python的serial函数库与STM32进行通信 将Stm32用USB连接到电脑 打开设备管理器查看端口 端口为COM3 写下Python程序 import serial 连接串口 serial serial Serial C
  • python Typing模块-类型注解

    写在篇前 typing 是python3 5中开始新增的专用于类型注解 type hints 的模块 为python程序提供静态类型检查 如下面的greeting函数规定了参数name的类型是str 返回值的类型也是str def gree
  • STL几种常见类型的比较

    这里主要是想要比较几种容器的性能 至于他们的接口不在考虑范围 Vector 相当于一个数组 在内存中分配一块连续的内存空间进行存储 支持不指定vector大小的存储 STL内部实现时 首先分配一个非常大的内存空间预备进行存储 即capaci
  • Mac pycharm 导入pyspark

    转载于 点击打开链接 1 前提 已经安装了pycharm 下载了spark 官网下载 我下的是spark 2 1 1 bin hadoop2 7 tgz 解压缩后为文件夹spark 2 1 1 bin hadoop2 7 我将文件放在了 A
  • C#项目实战|人脸识别考勤

    人脸识别考勤是一种基于人脸识别技术的智能化考勤系统 可以实现快速准确的考勤记录 提高考勤管理的效率和准确性 本文将介绍如何使用C 语言开发人脸识别考勤系统 一 项目概述 本项目使用C 语言 采用人脸识别技术和数据库技术 实现了一个基于人脸识
  • robots.txt 泄漏敏感信息

    robots txt 泄漏敏感信息 漏洞描述 搜索引擎可以通过robots文件可以获知哪些页面可以爬取 哪些页面不可以 爬取 Robots协议是网站国际互联网界通行的道德规范 其目的是保护网站数据和敏感信 息 确保用户个人信息和隐私不被侵犯
  • UVa 120 Stacks of Flapjacks

    Background Stacks and Queues are often considered the bread and butter of data structures and find use in architecture p
  • linux命令之tar -C命令的含义

    C代表change目录的意思 本例中指定解压文件到 opt cloudera manager这个目录下
  • 华为DevEco Device Tool的一个小bug及其解决方法

    今天 尝试烧录hi3516镜像遇到如下错误 正在执行任务 home vboxuser Huawei DevEco Device Tool core deveco venv bin hos run target upload project
  • Layui弹出层的yes/btin实现表单验证

    我们都知道layui的弹出层的btn属性生成的按钮 没办法实现弹出层内部的form验证成功后再执行相应操作 我的方法是 在弹出层写一个隐藏按钮 一个隐藏的input和form on方法 和自定义验证方法或者layui的验证方法 我使用的是l
  • 网络连接错误错误代码103怎么解决

    网络连接错误错误代码103的解决办法 1 查看网络是否通畅 点击开始 运行 输入cmd 然后输入ping空格加网址 按enter 查看该网站网络是否通畅 是否网络的问题 如果不是可能就是浏览器等其他问题 2 dns优选 打开杀毒软件 人工服
  • fastJson 前端对象null转为空字符串 “ “,空数组 [ ],空对象{ }

    Jackson请看 JsonProperty SpringBoot Jackson 将null转字符串 List Array转 int转0 前提 使用FastJson的 JsonField注解 import java util List i