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(.)