json格式化--fastjson SerializerFeature,为空的字段也返回

本文介绍了如何在Java中使用fastjson库的SerializerFeature特性,确保在JSON序列化过程中,即使字段为空也会被包含在输出结果中。
JSON.toJSONString(list, SerializerFeature.WriteMapNullValue);

依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.7</version>
        </dependency>

SerializerFeature 属性

名称含义备注
QuoteFieldNames输出 key 时是否使用双引号,默认为 true
UseSingleQuotes使用单引号而不是双引号,默认为 false
WriteMapNullValue是否输出值为 null 的字段,默认为 false
WriteEnumUsingToStringEnum 输出 name () 或者 original, 默认为 false
UseISO8601DateFormatDate 使用 ISO8601 格式输出,默认为 false
WriteNullListAsEmptyList 字段如果为 null, 输出为 [], 而非 null
WriteNullStringAsEmpty字符类型字段如果为 null, 输出为”“, 而非 null
WriteNullNumberAsZero数值字段如果为 null, 输出为 0, 而非 null
WriteNullBooleanAsFalseBoolean 字段如果为 null, 输出为 false, 而非 null
SkipTransientField如果是 true,类中的 Get 方法对应的 Field 是 transient,序列化时将会被忽略。默认为 true
SortField按字段名称排序后输出。默认为 false
WriteTabAsSpecial把 \t 做转义输出,默认为 false不推荐
PrettyFormat结果是否格式化,默认为 false
WriteClassName序列化时写入类型信息,默认为 false。反序列化是需用到
DisableCircularReferenceDetect消除对同一对象循环引用的问题,默认为 false
WriteSlashAsSpecial对斜杠’/’进行转义
BrowserCompatible将中文都会序列化为 \uXXXX 格式,字节数会多一些,但是能兼容 IE 6,默认为 false
WriteDateUseDateFormat全局修改日期格式,默认为 false。JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString (obj, SerializerFeature.WriteDateUseDateFormat);
DisableCheckSpecialChar一个对象的字符串属性中如果有特殊字符如双引号,将会在转成 json 时带有反斜杠转移符。如果不需要转义,可以使用这个属性。默认为 false
NotWriteRootClassName含义
BeanToArray将对象转为 array 输出
WriteNonStringKeyAsString含义
NotWriteDefaultValue含义
BrowserSecure含义
IgnoreNonFieldGetter含义
WriteEnumUsingName含义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值