零 引子
0 源码
1 开发依赖
Maven : 3.3.9 (主要用作打包工具)
IDE : idea 2018.3
JDK : OpenJDK 11.0.1 (OracleJDK 8 以上即可)
2 写在前头
Litjson 是笔者读了 Gson 源码之后的业余之作,基本思路仿造了 Gson,但是功能上做了不少精简,仅仅能适用于比较标准的 json 字符串和 java 对象的互转。
Litjson 在测试当中兼容性表现良好,但是执行效率不如预期(不及 Gson),笔者一度想要放弃该项目,但是造轮子不易,既然造了就稍微聊一聊吧,欢迎探讨进步。
一 自定义配置
Litjson 可以使用组件 OptionBox 进行各种参数的修改,OptionBox 由其静态内部类 OptionBoxBuildr 创建:
//创建一个 builder
OptionBox.OptionBoxBuilder boxBuilder = OptionBox.OptionBoxBuilder.builder();
//使用 builder 创建 OptionBox
OptionBox box = boxBuilder
//在 json 字符串反序列化过程中要忽略的字符
//默认会忽略空字符串和换行符等字符类型
.addIgnoreChar('c')
//传入一个 List,批量设置忽略字符
.addIgnoreChars(chars)
//在 json 字符串反序列化过程中需要识别的日期格式,默认仅有一种 yyyy-MM-dd HH:mm:ss
.addRe