Fastjson已经连续几次爆出高危漏洞,由于目前使用范围较广,每次几乎所有的JAVA后台系统均需升级。 为避免此安全问题,开发此SDK快速替换Fastjson,提供统一的JSON API,定义方式参照Fastjson,目前内核为Jackson.
- 对象中未赋值的属性不进行序列化
- json字符串中存在类中未定义的属性时则忽略不报错
- json字符串反序列化时大小写不敏感
- 支持"单引号"、"双引号"、"无引号"三种json定义格式
- 允许以0开头的整数,例:0000100
- 允许json字符串中有回车换行符
- 浮点类型数据解析为BigDecimal
移除fastjson包依赖,并引用json-facade包依赖
<dependency>
<groupId>com.jframe</groupId>
<artifactId>json-facade</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
com.alibaba.fastjson.JSON 替换为 com.jframe.json.JSON
com.alibaba.fastjson.JSONArray 替换为 com.jframe.json.JSONArray
com.alibaba.fastjson.JSONObject 替换为 com.jframe.json.JSONObject
com.alibaba.fastjson.TypeReference 替换为 com.fasterxml.jackson.core.type.TypeReference
Idea 全局替换快捷键 Command + Shift + R
- 替换完成后务必进行测试,尤其关注冷门方法的测试覆盖。
- 验证过程和上线后,关注系统日志中是否出现JsonConvertException异常。