标签:
转载于:http://code.alibabatech.com/wiki/display/FastJSON/Serial+Features
Fastjson序列化时,可以指定序列化的特性,以满足不同的序列化需求。
package com.alibaba.fastjson.serializer; public enum SerializerFeature { QuoteFieldNames, UseSingleQuotes, WriteMapNullValue, WriteEnumUsingToString, UseISO8601DateFormat, SkipTransientField } |
Date date = new Date(1308841916550L); // 缺省输出 System.out.println(JSON.toJSONString(date)); // 1308841916550 // 使用特性 UseISO8601DateFormat // "2011-06-23T23:11:56.550" System.out.println(JSON.toJSONString(date, SerializerFeature.UseISO8601DateFormat)); // 组合两个Feature(UseISO8601DateFormat和UseSingleQuotes)输出日期 SerializerFeature[] features = {SerializerFeature.UseISO8601DateFormat, SerializerFeature.UseSingleQuotes }; System.out.println(JSON.toJSONString(date, features)); // ‘2011-06-23T23:11:56.550‘ |
Featurs | 缺省值 | 说明 | ||
---|---|---|---|---|
QuoteFieldNames | true | 序列化输出字段,使用引号。例如: QuoteFieldNames Feature Enabled:
QuoteFieldNames Feature Disabled:
|
||
UseSingleQuotes | false | 使用单引号而不是双引号 UseSingleQuotes Feature Enabled:
UseSingleQuotes Feature Disabled:
|
||
WriteMapNullValue | false | 空值是否输出。大多数情况,值为null的属性输出是没有意义的,缺省这个特性是打开的。 WriteMapNullValue Feature Enabled:
WriteMapNullValue Feature Disabled:
|
||
WriteEnumUsingToString | false | Enum输出name()或者original
|
||
UseISO8601DateFormat | false | Date使用ISO8601格式输出
|
||
SkipTransientField | true | 如果是true,类中的Get方法对应的Field是transient,序列化时将会被忽略 | ||
WriteNullListAsEmpty | false | list字段如果为null,输出为[],而不是null | ||
WriteNullNumberAsZero | false | 数值字段如果为null,输出为0,而不是null | ||
WriteNullBooleanAsFalse | false | Boolean字段如果为null,输出为false,而不是null | ||
WriteNullStringAsEmpty | false | 字符类型字段如果为null,输出为"",而不是null | ||
SortField | false | 按字段名称排序后输出 | ||
WriteTabAsSpecial | false | 把\t做转义输出。 |
标签:
原文地址:http://www.cnblogs.com/exmyth/p/4563741.html