fastjson SerializerFeature详解

摘要:
依赖com.alibabafastjson1.2.7SerializerFeature属性名称含义备注QuoteFieldNames输出key时是否使用双引号,默认为trueUseSingleQuotes使用单引号而不是双引
依赖
        <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把 做转义输出,默认为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用枚举name()输出

QuoteFieldNames,输出key时是否使用双引号,默认为true

UseSingleQuotes,使用单引号,默认为false

WriteMapNullValue,是否输出值为null字段 ,默认为false

WriteEnumUsingToString,Enum输出name()或者original,默认为false

WriteEnumUsingName,用枚举name()输出

UseISO8601DateFormat,Date使用ISO8601格式输出,默认为false

WriteNullListAsEmpty,List字段如果为null,输出为[],而非null

WriteNullStringAsEmpty,将为null的字段值显示为""

WriteNullNumberAsZero,数值字段如果为null,输出为0,而非null

WriteNullBooleanAsFalse,Boolean字段如果为null,输出为false,而非null

SkipTransientField,如果是true,类中的Get方法对应的Field是‎瞬 态‎,序列化时将会被忽略。默认为true

SortField,按字段名称排序后输出。默认为false

参考:SerializerFeature

免责声明:文章转载自《fastjson SerializerFeature详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python命名规范Java中类加载过程和对象创建过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

fastjson生成JSON字符串的时候出现$ref

import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; /** * fastjson中$ref对象重复引用问题 *...

FastJson简单实现@JsonInclude效果,使得非空字段不返回

引言:记录最近一次做项目过程中碰到的一个FastJson序列化的问题,本次项目基于spring boot实现,在接口返回数据的时候,实体类的序列化是由FastJson完成的,但是由于功能需要,我需要将某个实体类中的些为空的字段则不返回,但是不能改动FastJson作为序列化的大逻辑,也就是说不能将序列化由FastJson替换为JackSon,但是要实现Ja...

FastJSON反序列化学习

反序列化漏洞例子 0x00、fastJSON练习 参考上面的链接,写一个类,并用fastJSON序列化。查阅API,fastJSON的序列化函数有: public abstract class JSON { // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public static String...

fastjson报错 java.lang.StackOverflowError

java.lang.StackOverflowError at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:758) at com.alibaba.fastjson.serializer.SerializeWr...

5分钟让你学会用最高效的工具解析所有Json

如果你是一个Android开发工程师,学会解析Json字符串是你的必修课,本篇文章主要以实例的方式手把手教你怎么做,花五分钟时间阅读本篇文章你就可以学会解析所有的Json字符串啦。 准备: json字符串 fastjson HiJson格式化json工具 开始教程: fastjson: 常用工作中解析json的工具类有谷歌的GSON,jackson...

扩展阿里p3c实现自定义代码规范检查

 前段时间fastjson报出了漏洞,只要打开setAutoType特性就会存在风险,自己测试环境的一个项目被揪出来了-_-!。虽然改动很小,但就是觉得憋屈。fastjson还是挺好的,想着禁用的话太可惜,用的话又要注意安全,就想着找款工具提示下在用fastjson的时候不要打开这个特性。刚好阿里开源了p3c(https://github.com/alib...