//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.alibaba.fastjson.serializer;
public enum SerializerFeature {
QuoteFieldNames,
UseSingleQuotes,
WriteMapNullValue,
WriteEnumUsingToString,
WriteEnumUsingName,
UseISO8601DateFormat,
WriteNullListAsEmpty,
WriteNullStringAsEmpty,
WriteNullNumberAsZero,
WriteNullBooleanAsFalse,
SkipTransientField,
SortField,
/** @deprecated /
@Deprecated
WriteTabAsSpecial,
PrettyFormat,
WriteClassName,
DisableCircularReferenceDetect,
WriteSlashAsSpecial,
BrowserCompatible,
WriteDateUseDateFormat,
NotWriteRootClassName,
/* @deprecated */
DisableCheckSpecialChar,
BeanToArray,
WriteNonStringKeyAsString,
NotWriteDefaultValue,
BrowserSecure,
IgnoreNonFieldGetter,
WriteNonStringValueAsString,
IgnoreErrorGetter,
WriteBigDecimalAsPlain,
MapSortField;
public final int mask = 1 << this.ordinal();
public static final SerializerFeature[] EMPTY = new SerializerFeature[0];
public static final int WRITE_MAP_NULL_FEATURES = WriteMapNullValue.getMask() | WriteNullBooleanAsFalse.getMask() | WriteNullListAsEmpty.getMask() | WriteNullNumberAsZero.getMask() | WriteNullStringAsEmpty.getMask();
private SerializerFeature() {
}
public final int getMask() {
return this.mask;
}
public static boolean isEnabled(int features, SerializerFeature feature) {
return (features & feature.mask) != 0;
}
public static boolean isEnabled(int features, int fieaturesB, SerializerFeature feature) {
int mask = feature.mask;
return (features & mask) != 0 || (fieaturesB & mask) != 0;
}
public static int config(int features, SerializerFeature feature, boolean state) {
if (state) {
features |= feature.mask;
} else {
features &= ~feature.mask;
}
return features;
}
public static int of(SerializerFeature[] features) {
if (features == null) {
return 0;
} else {
int value = 0;
SerializerFeature[] var2 = features;
int var3 = features.length;
for(int var4 = 0; var4 < var3; ++var4) {
SerializerFeature feature = var2[var4];
value |= feature.mask;
}
return value;
}
}
}
SerializerFeature属性解释
/**SerializerFeature源码
*QuoteFieldNames 输出key时是否使用双引号,默认为true
*UseSingleQuotes 使用单引号而不是双引号,默认为false
*WriteMapNullValue 是否输出值为null的字段,默认为false
* WriteMapNullValue 是否输出值为null的字段,默认为false
*
*/ // super.configureMessageConverters(converters);
// SerializerFeature.WriteNullListAsEmpty:List类型字段为null时输出[]而非null
// SerializerFeature.WriteMapNullValue:显示空字段
// SerializerFeature.WriteNullStringAsEmpty:字符串类型字段为null时输出""而非null
// SerializerFeature.WriteNullBooleanAsFalse:Boolean类型字段为null时输出false而null
// SerializerFeature.PrettyFormat:美化json输出,否则会作为整行输出
详情看博客
https://blog.csdn.net/fly910905/article/details/78474813