【已解决】使用fastjson返回给echarts的时候怎么不忽略null值?

问题复现:

在使用fastjson的将对象序列化成json字符串的时候,如果对象属性为null的话,会被忽略掉的。有时候,这些null值还是很有用的。比如我们在使用echarts的时候,返回给前端就不能因为null而忽略,如果忽略了null值,就会出现如下的错误:

那么使用fastjson怎么解决这个问题?

更多Java生成echarts相关文章获取

怎么获取更多echarts解决方案👉:凯哥个人BK,搜索【echars】 凯哥个人博客 kaigejava@com

其实很简单:

方式一:单个对象的时候

直接在转换jsonString的时候,后面添加SerializerPeatrue.WriteMapNullValue即可。如下:

return JSON.toJSONString(option, SerializerFeature.WriteMapNullValue);

其中option是要转换成json字符串的对象

方式二:局部的

如果不是单个,而是有少部分的,属性需要忽略null值,那么只需要在在属性上加上注解。注解如下:

 @JSONField(serialzeFeatures= {SerializerFeature.WriteMapNullValue})

方式三:全局的

实现WebMvcConfigurer,在此配置里面进行修改

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {//创建fastJson消息转换器FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();List<MediaType> supportedMediaTypes = new ArrayList<MediaType>();MediaType mediaTypeJson = MediaType.valueOf(MediaType.APPLICATION_JSON_UTF8_VALUE);supportedMediaTypes.add(mediaTypeJson);converter.setSupportedMediaTypes(supportedMediaTypes);//创建配置类FastJsonConfig config = new FastJsonConfig();config.getSerializeConfig().put(Json.class, new SwaggerJsonSerializer());//修改配置返回内容的过滤//WriteNullListAsEmpty  :List字段如果为null,输出为[],而非null//WriteNullStringAsEmpty : 字符类型字段如果为null,输出为"",而非null//DisableCircularReferenceDetect :消除对同一对象循环引用的问题,默认为false(如果不配置有可能会进入死循环)//WriteNullBooleanAsFalse:Boolean字段如果为null,输出为false,而非null//WriteMapNullValue:是否输出值为null的字段,默认为falseconfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect/*,SerializerFeature.WriteMapNullValue*/);converter.setFastJsonConfig(config);//将fastjson添加到视图消息转换器列表内converters.add(converter);}}

扩展:

SerializerFeature属性

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

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

相关文章

二分查找法详解(6种变形)

前言 在之前的博客中&#xff0c;我给大家介绍了最基础的二分查找法&#xff08;没学的话点我点我&#xff01;&#xff09; 今天我将带大家学习二分法的六种变形如何使用&#xff0c;小伙伴们&#xff0c;快来开始今天的学习吧&#xff01; 文章目录 1&#xff0c;查找第一个…

求交错序列前N项和 C语言xdoj149

题目描述&#xff1a;编写程序&#xff0c;计算交错序列1-2/33/5-4/75/9-6/11…的前N项之和。 输入格式&#xff1a;输入一个正整数 输出格式&#xff1a;输出计算结果&#xff0c;结果保留三位小数 示例&#xff1a; 输入&#xff1a;5 输出&#xff1a;0.917 #include <st…

网络基础【网线的制作、OSI七层模型、集线器、交换机介绍、路由器的配置】

目录 一.网线的制作 1.1.网线的标准 1.2.水晶头的做法 二.OSI七层模型、集线器、交换机介绍 集线器&#xff08;Hub&#xff09;&#xff1a; 交换机&#xff08;Switch&#xff09;&#xff1a; 三.路由器的配置 3.1.使用 3.2.常用的功能介绍 1、如何管理路由器 2、家…

数据分析:小红书过节“仪式感”营销种草

导语 过年的氛围是越来越浓&#xff0c;走亲访友&#xff0c;过节送礼都准备起来&#xff01;据千瓜数据显示&#xff0c;“轻松买到仪式感”热度攀升&#xff0c;作为站内扶持的新兴话题&#xff0c;11月上线以来浏览量超2.5亿&#xff0c;笔记数超过20万篇。 看来&#xff…

yolov8改进-添加Wise-IoU,yolov8损失改进

1.在ultralytics/utils/metrics.py文件里找到 bbox_iou函数 注释整个函数 2.将注释的函数后面&#xff0c;去添加以下代码&#xff08;替换上面注释的函数&#xff09; class WIoU_Scale: monotonous: {None: origin v1True: monotonic FM v2False: non-monotonic FM v3}mo…

【K8s】2# 使用kuboard管理K8s集群(kuboard安装)

文章目录 安装 Kuboard v3部署计划 安装登录测试 安装 Kuboard v3 部署计划 在正式安装 kuboard v3 之前&#xff0c;需做好一个简单的部署计划的设计&#xff0c;在本例中&#xff0c;各组件之间的连接方式&#xff0c;如下图所示&#xff1a; 假设用户通过 http://外网IP:80…

油猴脚本教程案例【键盘监听】-编写 ChatGPT 快捷键优化

文章目录 1. 元数据1. name2. namespace3. version4. description5. author6. match7. grant8. icon 2. 编写函数.1 函数功能2.1.1. input - 聚焦发言框2.1.2. stop - 取消回答2.1.3. newFunction - 开启新窗口2.1.4. scroll - 回到底部 3. 监听键盘事件3.1 监听X - 开启新对话…

飞天使-k8s知识点4-验证安装好后功能

文章目录 接k8s知识点2之验证集群功能创建dashboard验证安装nginx 并访问tomcat 访问 接k8s知识点2之验证集群功能 [rootkubeadm-master2 tmp]# kubectl run net-test1 --imagealpine sleep 36000 pod/net-test1 created [rootkubeadm-master2 tmp]# kubectl get pod NAME …

转义字符使用详解【C语言】

目录 转义字符的概念 转义字符表 转义字符详解 和 实际使用示例 一、\a 二、\b 三、\f 四、\n 五、\r 六、\t 七、\v 八、\\ 九、\ 十、\" 十一、\? 十二、\0 十三、\ddd 十四、\xhh 总结—— 转义字符的概念 所有的 ASCII码都可以用“\加数字” 来表示…

华为Harmony——ArkTs语言

文章目录 一、简单示例二、声明式UI描述创建组件无参有参数 配置属性配置事件配置子组件 三、自定义组件基本用法基本结构成员函数/变量 一、简单示例 我们以一个具体的示例来说明ArkTS的基本组成。如下图所示&#xff0c;当开发者点击按钮时&#xff0c;文本内容从“Hello Wo…

博客引擎 hugo intro 入门介绍+安装笔记

hugo 博客引擎 Hugo 是一个流行的静态网站生成器&#xff0c;它被广泛用于创建博客和静态网站。 静态网站生成器&#xff1a;Hugo 是一个静态网站生成器&#xff0c;它将你的博客内容转换为 HTML、CSS 和 JavaScript 文件&#xff0c;这些文件可以直接部署到 Web 服务器上。相…

【C语言】动态内存管理基础知识——动态通讯录,如何实现通讯录容量的动态化

引言 动态内存管理的函数有&#xff1a;malloc,calloc,ralloc,free,本文讲解动态内存函数和使用&#xff0c;如何进行动态内存管理,实现通讯录联系人容量的动态化&#xff0c;对常见动态内存错误进行总结。 ✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》…

老毛桃软碟通制作启动盘装机硬盘安装系统

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、老毛桃制作winPE镜像 1、简介 2、老毛桃的主要功能包括&#xff1a; 3、准备 4、制作启动盘流程 5…

vue项目npm run build报错npm ERR! missing script: build(已解决)

vue项目npm run build报错npm ERR! missing script: build&#xff08;已解决&#xff09; 错误描述&#xff1a; 今天准备打包vue项目上线是出现下列错误&#xff1a; 找了很多解决方法都不行&#xff0c;最后打开自己的package.json文件发现&#xff1a;build后面多了个&a…

内皮素-1(Endothelin-1 )ELISA kit

灵敏、快速的内皮素-1 ELISA试剂盒&#xff0c;适用于心血管和应激相关研究 内皮素&#xff08;Endothelin, ET&#xff09;是由血管内皮细胞产生的异肽&#xff0c;具有强大的血管收缩活性。这种肽由三个独立的基因编码&#xff0c;经过加工产生39个残基的 大ET 分子&#xff…

【科普知识】什么是步进驱动器、驱动模式及驱动的方法?

我们已经知道步进电机就是一种将电脉冲信号转化为角位移的执行机构。那么如何精准地控制电机的速度和位置呢&#xff1f;这就需要一种驱动器的装置。 1.什么是步进驱动器&#xff1f; 电机控制原理图 步进驱动器是一种能使步进电机运转的功率放大器&#xff0c;能把控制器发来…

Zabbix自动发现并注册已安装agent的主机

先在被监控主机上安装好zabbix-agent 然后登录zabbix网页 点击发现动作后会出现第三步 然后编辑操作&#xff0c;发现后加入到主机组群 然后编辑发现规则 然后就可以在主机列表中看到被发现的主机。

window下搭建Rocketmq服务及测试demo

下载地址&#xff1a;下载 | RocketMQ 一. RocketMQ部署 系统:Windows7;环境:JDK1.8、Maven3.3、Git&#xff1b; 下载 | RocketMQ 1.1 下载&#xff0c; 进入RocketMQ官网http://rocketmq.apache.org/docs/quick-start/&#xff0c; 这里以编写时的最新版本为例&#…

大疆又出新品:户外电源

大疆创新最近发布了两款强大的户外电源&#xff1a;DJI Power 1000 和 DJI Power 500。这两款产品都具有高效储能、便携易用、安全放心、续航强大等优势&#xff0c;让你在户外探险时拥有更多可能性。 DJI Power 1000 电池容量&#xff1a;1024 瓦时&#xff08;约 1 度电&…

光条中心线提取-Steger算法 [OpenCV]

在线结构光视觉传感器中&#xff0c;由线激光器发射出的线结构光&#xff0c;在本质上为一个连续且具有一定厚度的空间光平面&#xff0c;而在目标表面上所形成的具有一定宽度的光条特征&#xff0c;即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上&#xf…