亲测:字符串提前保留为空串,数字为0 WriteMapNullValue WriteNullStringAsEmpty WriteNullNumberAsZero 这3个同时使用
从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到
fastjson
的SerializerFeature序列化属性
也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)
Fastjson的SerializerFeature序列化属性
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
亲测:字符串提前保留为空串,数字为0 WriteMapNullValue WriteNullStringAsEmpty WriteNullNumberAsZero 这3个同时使用从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性也就是这个方法:JSONObject.to...
SerializerFeature.WriteMap
Null
Value 是否输出
值
为
null
的
字段
,默认为false
也就是说有
null
时
会输出而不是忽略(默认策略是忽略,所以看不到为
null
的
字段
)
Write
Null
St
ring
AsEmpty—字符类型 键如果为
null
,输出为”“,而非
null
注意是键为
null
的可以转换为“”,而不是
json
.put("key",
null
)
如果让输出的
json
中所有为
null
的字符串都变成空字符串,最简单的做法就是加一个
值
过滤器,..
Map "http://wuzhuti.cn/tag/
json
/" title="
JSON
">
JSON
Map = new HashMap();
json
Map.put("a",1);
json
Map.put("b","");
json
Map.put("c",
null
);
json
Map.put("d
QuoteFieldNames———-输出key
时
是否使用双引号,默认为true
WriteMap
Null
Value——–是否输出
值
为
null
的
字段
,默认为false
Write
Null
NumberAsZero—-数
值
字段
如果为
null
,输出为0,而非
null
Write
Null
ListAsEmpty—–List
字段
如果为
null
,输...
package com.aiqin.mgs.market.api.config;
import com.alibaba.
fastjson
.serializer.SerializerFeature;
import com.alibaba.
fastjson
.support.config.
FastJson
Config;
import com.alibaba.
fastjson
.support.spri...
亲测:字符串提前
保留
为空串,数字为0 WriteMap
Null
Value Write
Null
St
ring
AsEmpty Write
Null
NumberAsZero 这3个同
时
使用
从输出结果可以看出,
null
对应的key已经被过滤掉;这明显不是我们想要的结果,这
时
我们就需要用到
fastjson
的SerializerFeature
序列化
属性
也就是这个方法:
JSON
Object.to...
St
ring
json
=
JSON
.t
oJ
SONSt
ring
(
null
);
St
ring
json
=
JSON
.t
oJ
SONSt
ring
("");
居然返回"
null
", """", 为什么不是
null
, 或者""?!
JSON
Object
json
Object = new
JSON
Object();
json
Object.put("id",
null
);
json
Object.put("class","12");
json
Ob...
回答: `
json
.t
oJ
SONSt
ring
()`是
Fastjson
库中的一个方法,用于将Java对象转换为
JSON
字符串。这个方法主要通过调用`t
oJ
SONSt
ring
(Object)`方法来实现。\[1\]在这个方法中,
Fastjson
会逐层分析对象的结构,并使用`ObjectSerializer`接口的`write`方法来将对象的属性
序列化
为
JSON
字符串。\[2\]同
时
,生成
JSON
字符串的特征配置也会起到一定的作用,默认配置包括`QuoteFieldNames`、`SkipTransientField`、`WriteEnumUsingToSt
ring
`和`SortField`等特征。\[3\]通过这些步骤,`
json
.t
oJ
SONSt
ring
()`方法能够将Java对象转换为符合
JSON
格式的字符串。
#### 引用[.reference_title]
- *1* *2* *3* [
Fastjson
源码阅读(三):
JSON
.t
oJ
SONSt
ring
()](https://blog.csdn.net/weixin_45462807/article/details/121853626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-
null
.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
k8s核心操作_构建一键上云002_K8S+harbor_部署微服务_WebSocket使用_K8S前端配置_XXLJob配置_微服务中Nacos配置---分布式云原生部署架构搭建031