1、接口变化对照表(没变化的不在列)
| v3 | v4 | 备注 |
| loadObj(.) | ofBean(.) | 加载 java bean |
| loadStr(.) | ofJson(.) | 加载 json |
| ary() | getArray() | 获取数组形态 |
| obj() | getObject() | 获取对象形态 |
| val() | getValue() | 获取值形态 |
| | | |
| val(.) | setValue(.) | 设置值(Json 支持的值类型) |
| fill(.) | fill(.) | 填充 java bean(可以是任何对象) |
| fillStr(.) | fillJson(.) | 填充 json |
| forEach(.) | getArray().forEach(.) | 遍历 |
| | getObject().forEach(.) | 遍历 |
| toObject(.) | toBean(.) | 转为 java bean |
| build(.) | then(slf->{}) | 然后(消费自己) |
| getRawXxx() | getValue() | |
| | getValueAs() | |
| count() | size() | |
| contains(.) | hasKey(.) | |
| | hasValue(.) | |
| removeAt(.) | remove(.) | |
| attrGet(.) | / | |
| attrSet(.) | / | |
| attrForeach(.) | / | |
| toData() | toBean() | |
| toObject() | toBean() | |
| toObjectList() | toBean(new TypeRef<List<T>>(){}) | |
| toArray() | toBean(new TypeRef<List<T>>(){}) | |
| - | - | - |
| stringify(.) | serialize(.) | 序列化 |
2、特性变化对照表
| v3 | v4 | 备注 |
QuoteFieldNames | /(默认有双引号) | 输出:为字段名加引号 |
| /(默认无引号) | Write_UnquotedFieldNames | 输出:字段名不加引号 |
UseSingleQuotes | Write_UseSingleQuotes | 输出:使用单引号输出 |
OrderedField | /(默认有排序) | 存储:排序字段 |
| | | |
WriteClassName | Write_ClassName | 输出:写入类名。反序列化是需用到 |
NotWriteRootClassName | Write_NotRootClassName | 输出:不写入根类名 |
WriteArrayClassName | / | 输出:写入数组类名。反序列化是需用到 |
WriteDateUseTicks | /(默认为 ticks) | 输出:日期用Ticks |
WriteDateUseFormat | Write_UseDateFormat | 输出:日期用格式符控制 |
WriteBoolUse01 | Write_BooleanAsNumber | 输出:Bool用0或1替代 |
WriteNumberUseString | Write_NumbersAsString | 输出:数字用字符串 |
| / | Write_BigNumbersAsString | 输出:大数字(long 或 double)用字符串。方便兼容JS |
| / | Write_LongAsString | 输出:长整型用字符串 |
ParseIntegerUseLong | / | 解析:整型使用长整 |
BrowserSecure | / | 输出:浏览器安全处理(不输出<>) |
BrowserCompatible | Write_BrowserCompatible | 输出:浏览器兼容处理(将中文都会序列化为\uXXXX格式,字节数会多一些) |
TransferCompatible | /(默认不输出) | 输出:传输兼容处理(不输出\) |
| /(默认输出) | Write_UseRawBackslash | 输出:\ |
EnumUsingName | Write_EnumUsingName | 输出:使用Enum的name输出 |
StringNullAsEmpty | Write_NullStringAsEmpty | 存储 or 输出:字符串Null时输出为空(get时用) |
BooleanNullAsFalse | Write_NullBooleanAsFalse | 存储 or 输出:布尔Null时输出为空(get时用) |
NumberNullAsZero | Write_NullNumberAsZero | 存储 or 输出:数字Null时输出为空(get时用) |
ArrayNullAsEmpty | Write_NullListAsEmpty | Text |
StringFieldInitEmpty | Write_NullStringAsEmpty | 存储 or 输出:字符串字段初始化为空(返序列化时) |
SerializeNulls | Write_Nulls | 输出:序列化Null |
SerializeMapNullValues | Write_Nulls | 输出:序列化Map/Null val |
UseSetter | Write_AllowUseSetter | 使用设置属性 |
UseOnlySetter | Write_OnlyUseSetter | 只使用设置属性 |
UseGetter | Read_AllowUseGetter | 使用获取属性 |
UseOnlyGetter | Read_OnlyUseGetter | 只使用获取属性 |
DisThreadLocal | /(没有线程缓存) | 禁止线程缓存 |
StringJsonToNode | Read_UnwrapJsonString | 存储 or 读取:当 value is json string 时,自动转为ONode |
StringDoubleToDecimal | Read_UseBigDecimalMode | 读取 Double 使用 BigDecimal |
| / | Read_UseBigIntegerMode | 读取 Long 使用 BigInteger |
PrettyFormat | Write_PrettyFormat | 输出:漂亮格式化 |
DisableClassNameRead | / (默认是禁用) | 禁用类名读取 |
| / (默认是启用) | Read_AutoType | 读取数据中的类名(支持读取 @type 属性) |
DisableCollectionDefaults | /(没有默认值) | 禁用集合默认值 |
3、Json 定制
CodecLib.addCreator(.)
CodecLib.addDecoder(.)
CodecLib.addEncoder(.)
Options.of().addCreator(.).addDecoder(.).addEncoder(.).addFeature(.)
4、JsonPath 定制
FunctionLib.register(.)
OperationLib.register(.)