java json 序列化对象空值不处理_使用JSON.toJSONString中序列化空字符串遇到的坑

JSON.toJSONString()方法在Java中的使用 深入理解并使用JSON.toJSONString()方法实现Java对象序列化 阅读详情

fastjson是由alibaba开源的一套json处理器。

与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化方式相比,有比较明显的性能优势

1、使用 JSON.toJSONString 竟然也有坑

在对对象转成JsonString的时候,对象有三个属性,其中两个有内容,一个为 null

value等于空值时,key默认也会过滤掉,这有点坑

2、将对象转换成 JsonString 在fastJson 中有两种方式

通过 JSON.toJSONString

通过 JSONObject.toJSONString

3、WriteNullStringAsEmpty 和 WriteMapNullValue 均可以将为 null 的属性显示出来 , 而不是默认被忽略掉

JSON.toJSONString(map, SerializerFeature.WriteMapNullValue)
JSON.toJSONString(message, SerializerFeature.WriteNullStringAsEmpty)

指定序列化方式就打印出来了。

阿里云百炼平台创建智能体-上传文档 阿里云百炼智能体-上传文档文件 阅读详情

相关推荐

Pylon SDK C语言多相机采集的注意事项、关键设置及代码示例

前言 与单相机直接用句柄PYLON_DEVICE_HANDLE hdev进行操作所不同的是,在多相机连接采用索引值访问每个相机,对应句柄为PYLON_DEVICE_HANDLE hdev[deviceIndex] 。若连接N个相机设备,则索引值范围为[0,...,N-1]。显而易见,采用循环结构编程可以对多个相机采用同样的操作,包括参数设置、图像采集等。但多个相机的使用需要根据相机功能、相机与主机间的连接方式、网络适配器进行额外的设置。本文参考Pylon C开发者手册和Basler产品文档,对GigE类型

黑化咸鱼的博客 3089

JSON.toJSONString()空字段不忽略修改

JSON.toJSONString()空字段不忽略修改

a1k2l45k的博客 4333

开源 AHB不对称半桥反激电路设计(六)死区时间,谐振腔电流,谐振电感函数表达式

电流跌落可以使副边电流峰值和有效值降低,减小损耗,但如果开关管 S2 导通期间,谐振电流谐等于励磁电流,即副边电流A 点降至 0,会在原边变压器内形成环流,产生损耗,同时也不利于副边同步整流管驱动的正常工作,为了保证开关管 S2 导通期。在开关管 S1 和开关管 S2 均关断的死区时间内,谐振电流给原边开关管结电容和副边整流管结电容充放电,因此会引起开关 S1 关断瞬间电流跌落与开关 S2 关断瞬间电流震荡现象,受寄生参数影响原边谐振电流波形和副边电流波形如图。降到最低,变压器以最高效率向副边传递能量。

【Simon】的博客 1225

使用JSONObject.toJSONString 会过滤掉值为空的key

当使用alibaba的fastjson工具类序列化实体类时,默认其会自动过滤掉null空的字段属性,在序列化的时候不会进行展示。一些工具类的这个方法也是同理,倘若需要序列化空字段的属性,在SerializerFeature枚举类中选择相应的标识即可。倘若在mq传递消息时会因为部分字段不存在渲染不进去mq那边的实体类,此时可使用以下方法。使用Features字段来声明需要序列化。示例及相关资料如下。

Tomatoes的博客 5677

sentinel滑动时间窗口算法学习

滑动时间窗口 先不说sentinel的算法实现,先说什么是滑动时间窗口, 我们在进行限流的时候,比如通过QPS进行限流,那假如我们以秒为单位,举个例子: 我设置了限流规则,qps是10 如果不使用滑动窗口算法,在统计qps的时候,就有可能会有问题,比如: 在0 - 500ms中的请求数是0,但是在500ms - 1000 ms的请求数是10;在1000ms - 1500ms 之间又进来了5个请求,此时只判断了1000ms - 2000 ms之间的请求数 因为没有把1S进行拆分多个窗口,所以在1000ms之后

小小少年的博客 3979

UVM仿真卡住了?别慌!手把手教你定位并解决PH_TIMEOUT超时错误

本文详细解析了UVM仿真中常见的PH_TIMEOUT超时错误,提供了从错误诊断到解决方案的完整指南。通过理解错误机制、分析调试技巧和常见问题场景,帮助验证工程师快速定位并解决这一棘手问题,同时分享了预防措施与最佳实践,提升仿真效率。

weixin_28683065的博客 367

JSON.toJSONString的坑有些字段没有了

1.问题 在使用fastjson中的JSON.toJSONString方法将对象转换成json字符串的时候,发现有些字段没有了。如: 1 2 3 4 5 6 7 8 publicstaticvoidmain(String[] args) { Map<String,Object>map=newHashMap<>(); map.put("id"...

万事俱备,就差一个程序员了 7095

Xilinx ERNIC RoCEv2 FPGA实现与QP队列深度解析

本文深入解析Xilinx ERNIC RoCEv2在FPGA上的实现,重点剖析QP队列对的管理机制与深度优化策略。通过Verilog代码示例和工程实战,详细介绍了如何实现高吞吐量、低延迟的RDMA硬件卸载方案,为金融交易和数据中心应用提供性能优化指导。

solidity8miner的博客 875

JSON.toJSONString 空字段不忽略修改

使用JSON.toJSONString(object)方法,在返回的json中会把null 值对应的key过滤掉,这是因为默认会将为空的字段自动忽略。 避免此问题放法: 加过滤器 private static ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1; String s3 = JSON.toJSONString(jsonMap, valueFilter); 测试 ...

czm179885的博客 1209

”COMSOL“竟然如此简单!我悟了!!

COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的计算性能,可以保证数值仿真的高度精确,已被广泛应用于各个学科领域,近年来运用COMSOL来解决电化学实际工程问题也越来越普遍。

C1012562281的博客 3447

Python爬虫实战:高效爬取中国专利数据库的完整指南

在当今信息爆炸的时代,专利数据作为技术创新的重要指标,对企业研发、市场分析和学术研究都具有极高价值。中国作为全球专利申请量最大的国家,其专利数据库包含了海量的技术创新信息。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的中国专利数据库爬虫系统。中国专利数据库主要由国家知识产权局(CNIPA)维护,包含发明专利、实用新型专利和外观设计专利三大类。截至2023年,中国专利数据库已收录超过400万件发明专利和300万件实用新型专利。

2201_76125261的博客 1569

JSON.toJSONString中序列化空字符串遇到的坑

前言 最近在做系统Bug修复时遇到了一个问题,调用其他服务时传递的参数和自己预先的不一致,例如Map中有10条记录,然后使用JSON.toJSONString 包装后进行网络传递,但是通过调试发现接收方只收到了5条数据。经过追溯发现原来JSON.toJSONString 这里有坑。所以现在总结记录一下。 FastJson简介 首先,介绍一下fastjson。fastjson是由alib...

一枝花算不算浪漫的专栏 2082

基于MATLAB的Hough变换指针式仪表识别

综上所述,本文介绍了如何使用MATLAB中的Hough变换算法来实现指针式仪表的自动识别和读数。通过图像预处理、Hough变换和直线提取,我们可以准确地检测指针的位置,并进一步进行仪表读数。本文将介绍如何使用MATLAB中的Hough变换算法来实现指针式仪表的自动识别和读数。在指针式仪表识别中,我们可以利用Hough变换来检测仪表盘上的指针。以上是基于MATLAB的Hough变换指针式仪表识别的详细步骤和源代码示例。根据指针在仪表盘上的位置,我们可以进行角度计算或使用其他技术来获取准确的读数。

techDM的博客 461

JSON.toJSONString中序列化空字符串

最近用JSON.toJSONString处理时,发现JSON.toJSONString中序列化会把对象中某些为空的属性给清空。上示例代码段: if (list.size() == 1 && CollectionUtils.isNotEmpty(results)) { results.forEach(item -> { if ("全国".equals(item.getAreaname())) {

不怕万人阻挡,只怕自己投降 1948

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JSON.toJSONString中序列化空字符串遇到的坑 侵立删

前言 最近在做系统Bug修复时遇到了一个问题,调用其他服务时传递的参数和自己预先的不一致,例如Map中有10条记录,然后使用JSON.toJSONString 包装后进行网络传递,但是通过调试发现接收方只收到了5条数据。经过追溯发现原来JSON.toJSONString 这里有坑。所以现在总结记录一下。 FastJson简介 首先,介绍一下fastjson。fastjson是由alibaba...

心神沫沫的收藏 3471

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JSON中的JSON.parseArray()方法、JSON.parseObject()方法和JSON.toJSONString()方法

1、JSON.JSON.parseObject和JSON.toJSONString JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,JSON字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解这两个方法的用法。 首先用maven引入fastjson <?xml version="1.0" encoding="UTF-8"?> <project .

知行 2万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JSON语法、序列化/反序列化、(JS、JSON、Java对象间转换)、fastjson库、JS内置对象JSON

本篇博客的内容:JSON基础的介绍、JSON对象语法(数据结构和数据格式)、序列化与反序列化、使用JS内置对象JSON提供的方法(JS对象与JSON对象间转换)、使用fastjson库处理(JSON对象与Java对象间转换)...

岁岁岁平安的博客 2217

SpringBoot项目Json中的空值处理,将null转为空字符串"",空list转为空数组等

本篇使用fastjson进行空值null处理 Jackson的请看:https://blog.csdn.net/qq_31183727/article/details/99539115 项目中之前用的null值转空串方法,将空list也转换为了"",不适合需求,之后在网上找的方法修改后,适用现在的需求,现在分享给大家。 import com.alibaba.fastjson.seriali...

流水随清风的博客 1万+

java json 序列化对象空值不处理_java – Jackson序列化:忽略空值(或null)

我目前使用的杰克逊2.1.4和我有一些麻烦,忽略字段,当我将一个对象转换为JSON字符串。这里是我的类作为要转换的对象:public class JsonOperation {public static class Request {@JsonInclude(Include.NON_EMPTY)String requestType;Data data = new Data();public sta...

weixin_36459720的博客 1197

使用FastJson对JSON字符串、JSON对象及数组进行转换

来源:IT技术  作者:seo实验室小编 http://www.seotest.cn/jishu/45488.html

三分恶的博客 2万+

java json 序列化对象空值不处理_关于java:Jackson序列化:忽略空值(或null)

我当前正在使用杰克逊2.1.4,并且在将对象转换为JSON字符串时,在忽略字段方面遇到一些麻烦。这是我的类,它充当要转换的对象:public class JsonOperation {public static class Request {@JsonInclude(Include.NON_EMPTY)String requestType;Data data = new Data();public...

weixin_29538497的博客 3043

Fastjson序列化定制+空值、Null、空数组、List不序列化

虽然现在不推荐用FastJson了,但是今天遇到这个问题了还是说一下吧。 同事求助我一个问题: 第三方jar包里的一个对象,有些类型为List的属性,值为空list,不是null。使用JSON.toJSONString()方法,得到的json字符串这些属性的值为[]。序列化时怎么才能把这些类型为List的属性忽略掉? 自定义过滤器 可以自由实现你想要的规则 ////老的写法 PropertyFilter f = new PropertyFilter() { @Ov

JavaMa的博客 3530
上一篇: Invalid bound statement (not found)四步解决问题
下一篇: java 逗号分隔String字符串 - 数组 - 集合,相互转换
码趣资源网
博客等级 码龄4年 268粉丝 518原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值