SDK依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${latest}</version>
</dependency>
SerializerFeature属性
JSON.toJSONString(object, SerializerFeature.. features);
枚举值 | 默认 | 说明 | 备注 |
---|---|---|---|
QuoteFieldNames | Y | 输出key时是否使用双引号 | |
UseSingleQuotes | N | 使用单引号而不是双引号 | |
WriteMapNullValue | N | 是否输出值为null的字段 | |
WriteEnumUsingToString | N | Enum输出toString()值 | |
WriteEnumUsingName | Y | Enum输出name值 | |
UseISO8601DateFormat | N | Date使用ISO8601格式输出 | |
WriteNullListAsEmpty | N | List字段如果为null,输出为[],而非null | |
WriteNullStringAsEmpty | N | 字段如果为null,输出为"",而非null | |
WriteNullNumberAsZero | N | 数值字段如果为null,输出为0,而非null | |
WriteNullBooleanAsFalse | N | Boolean字段如果为null,输出为false,而非null | |
SkipTransientField | Y | 类中的Get方法对应的Field是transient,序列化时将会被忽略 | |
SortField | Y | 按字段名称排序后输出 | |
PrettyFormat | N | 是否格式化输出 | |
WriteClassName | N | 序列化时写入类型信息,反序列化是会用到 | |
DisableCircularReferenceDetect | N | 消除对同一对象循环引用的问题 | |
WriteSlashAsSpecial | N | 对斜杠’/’进行转义 | |
BrowserCompatible | N | 将中文都会序列化为\uXXXX格式,字节数会多一些,但是能兼容IE 6 | |
WriteDateUseDateFormat | N | 全局修改日期格式 | 见示例01 |
NotWriteRootClassName | Y | ||
DisableCheckSpecialChar | N | 不需要将字符串中的特殊字符(如双引号)转成带有反斜杠转义符 | |
BeanToArray | N | 将对象的属性字段转为数组输出 | 见示例02 |
WriteNonStringKeyAsString | Y | 将字段类型为非String的转换为String | |
NotWriteDefaultValue | N | ||
BrowserSecure | |||
IgnoreNonFieldGetter | Y | ||
WriteNonStringValueAsString | N | ||
IgnoreErrorGetter | |||
WriteBigDecimalAsPlain | Y | 将BigDecimal转成普通数字 |
示例
01、WriteDateUseDateFormat
JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;
JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat);
02、BeanToArray
[123,null,"john",null]