diff --git a/docs/fastjson_1_upgrade_cn.md b/docs/fastjson_1_upgrade_cn.md index ddafdc13ea..a191ece66d 100644 --- a/docs/fastjson_1_upgrade_cn.md +++ b/docs/fastjson_1_upgrade_cn.md @@ -118,7 +118,7 @@ JSON.toJSONString(obj, format); ``` ## 4.5 ## SerializerFeature.DisableCircularReferenceDetect在fastjson2的替代方案 -在fastjson2中,代替的是JSONWriter.Feature.ReferenceDetection,但语义相反,缺省不一样。fastjson2中的JSONWriter.Feature.ReferenceDetection缺省是关闭的,而fastjson1是现实打开的。 +在fastjson2中,代替的是JSONWriter.Feature.ReferenceDetection,但语义相反,缺省不一样。fastjson2中的JSONWriter.Feature.ReferenceDetection缺省是关闭的,而fastjson1缺省是打开的。 ## 4.6 SerializerFeature.SortField在fastjson2的替代方案 不需要,在fastjson2中,JSONObject继承自LinkedHashMap,不需要配置这个Feature diff --git a/docs/features_cn.md b/docs/features_cn.md index 08223dcc39..29c3ee93da 100644 --- a/docs/features_cn.md +++ b/docs/features_cn.md @@ -58,42 +58,42 @@ class Model { # 5. JSONWriter.Feature介绍 -| JSONWriter.Feature | 介绍 | -|-----------------------------------|-----------------------------------------------------------------------------------------| -| FieldBased | 基于字段反序列化,如果不配置,会默认基于public的field和getter方法序列化。配置后,会基于非static的field(包括private)做反序列化。 | -| IgnoreNoneSerializable | 序列化忽略非Serializable类型的字段 | -| BeanToArray | 将对象序列为[101,"XX"]这样的数组格式,这样的格式会更小 | -| WriteNulls | 序列化输出空值字段 | -| BrowserCompatible | 在大范围超过JavaScript支持的整数,输出为字符串格式 | -| NullAsDefaultValue | 将空置输出为缺省值,Number类型的null都输出为0,String类型的null输出为"",数组和Collection类型的输出为[] | -| WriteBooleanAsNumber | 将true输出为1,false输出为0 | -| WriteNonStringValueAsString | 将非String类型的值输出为String,不包括对象和数据类型 | -| WriteClassName | 序列化时输出类型信息 | -| NotWriteRootClassName | 打开WriteClassName的同时,不输出根对象的类型信息 | +| JSONWriter.Feature | 介绍 | +|-----------------------------------|---------------------------------------------------------------------------------------| +| FieldBased | 基于字段序列化,如果不配置,会默认基于public的field和getter方法序列化。配置后,会基于非static的field(包括private)做序列化。 | +| IgnoreNoneSerializable | 序列化忽略非Serializable类型的字段 | +| BeanToArray | 将对象序列为[101,"XX"]这样的数组格式,这样的格式会更小 | +| WriteNulls | 序列化输出空值字段 | +| BrowserCompatible | 在大范围超过JavaScript支持的整数,输出为字符串格式 | +| NullAsDefaultValue | 将空置输出为缺省值,Number类型的null都输出为0,String类型的null输出为"",数组和Collection类型的输出为[] | +| WriteBooleanAsNumber | 将true输出为1,false输出为0 | +| WriteNonStringValueAsString | 将非String类型的值输出为String,不包括对象和数据类型 | +| WriteClassName | 序列化时输出类型信息 | +| NotWriteRootClassName | 打开WriteClassName的同时,不输出根对象的类型信息 | | NotWriteHashMapArrayListClassName | 打开WriteClassName的同时,不输出类型为HashMap/ArrayList类型对象的类型信息,反序列结合UseNativeObject使用,能节省序列化结果的大小 | -| NotWriteDefaultValue | 当字段的值为缺省值时,不输出,这个能节省序列化后结果的大小 | -| WriteEnumsUsingName | 序列化enum使用name | -| WriteEnumUsingToString | 序列化enum使用toString方法 | -| IgnoreErrorGetter | 忽略setter方法的错误 | -| PrettyFormat | 格式化输出 | -| ReferenceDetection | 打开引用检测,这个缺省是关闭的,和fastjson 1.x不一致 | -| WriteNameAsSymbol | 将字段名按照symbol输出,这个仅在JSONB下起作用 | -| WriteBigDecimalAsPlain | 序列化BigDecimal使用toPlainString,避免科学计数法 | -| UseSingleQuotes | 使用单引号 | -| MapSortField | 对Map中的KeyValue按照Key做排序后再输出。在有些验签的场景需要使用这个Feature | -| WriteNullListAsEmpty | 将List类型字段的空值序列化输出为空数组"[]" | -| WriteNullStringAsEmpty | 将String类型字段的空值序列化输出为空字符串"" | -| WriteNullNumberAsZero | 将Number类型字段的空值序列化输出为0 | -| WriteNullBooleanAsFalse | 将Boolean类型字段的空值序列化输出为false | -| NotWriteEmptyArray | 数组类型字段当length为0时不输出 | -| WriteNonStringKeyAsString | 将Map中的非String类型的Key当做String类型输出 | -| ErrorOnNoneSerializable | 序列化非Serializable对象时报错 | -| WritePairAsJavaBean | 将 Apache Common 包中的Pair对象当做JavaBean序列化 | -| BrowserSecure | 浏览器安全,将会'<' '>' '(' ')'字符做转义输出 | -| WriteLongAsString | 将Long序列化为String | -| WriteEnumUsingOrdinal | 序列化Enum使用Ordinal,缺省是name | -| WriteThrowableClassName | 序列化Throwable时带上类型信息 | -| LargeObject | 这个是一个保护措施,是为了防止序列化有循环引用对象消耗过大资源的保护措施。 | -| UnquoteFieldName | 不带引号输出Key | -| NotWriteSetClassName | 当打开WriteClassName时又不想输出Set的类型信息,使用这个Feature | -| NotWriteNumberClassName | 当打开WriteClassName时又不想输出Number的类型信息,比如L/S/B/F/D这种后缀,使用这个Feature | +| NotWriteDefaultValue | 当字段的值为缺省值时,不输出,这个能节省序列化后结果的大小 | +| WriteEnumsUsingName | 序列化enum使用name | +| WriteEnumUsingToString | 序列化enum使用toString方法 | +| IgnoreErrorGetter | 忽略setter方法的错误 | +| PrettyFormat | 格式化输出 | +| ReferenceDetection | 打开引用检测,这个缺省是关闭的,和fastjson 1.x不一致 | +| WriteNameAsSymbol | 将字段名按照symbol输出,这个仅在JSONB下起作用 | +| WriteBigDecimalAsPlain | 序列化BigDecimal使用toPlainString,避免科学计数法 | +| UseSingleQuotes | 使用单引号 | +| MapSortField | 对Map中的KeyValue按照Key做排序后再输出。在有些验签的场景需要使用这个Feature | +| WriteNullListAsEmpty | 将List类型字段的空值序列化输出为空数组"[]" | +| WriteNullStringAsEmpty | 将String类型字段的空值序列化输出为空字符串"" | +| WriteNullNumberAsZero | 将Number类型字段的空值序列化输出为0 | +| WriteNullBooleanAsFalse | 将Boolean类型字段的空值序列化输出为false | +| NotWriteEmptyArray | 数组类型字段当length为0时不输出 | +| WriteNonStringKeyAsString | 将Map中的非String类型的Key当做String类型输出 | +| ErrorOnNoneSerializable | 序列化非Serializable对象时报错 | +| WritePairAsJavaBean | 将 Apache Common 包中的Pair对象当做JavaBean序列化 | +| BrowserSecure | 浏览器安全,将会'<' '>' '(' ')'字符做转义输出 | +| WriteLongAsString | 将Long序列化为String | +| WriteEnumUsingOrdinal | 序列化Enum使用Ordinal,缺省是name | +| WriteThrowableClassName | 序列化Throwable时带上类型信息 | +| LargeObject | 这个是一个保护措施,是为了防止序列化有循环引用对象消耗过大资源的保护措施。 | +| UnquoteFieldName | 不带引号输出Key | +| NotWriteSetClassName | 当打开WriteClassName时又不想输出Set的类型信息,使用这个Feature | +| NotWriteNumberClassName | 当打开WriteClassName时又不想输出Number的类型信息,比如L/S/B/F/D这种后缀,使用这个Feature |