Home 基础能力 基础能力——FastJson坑点

基础能力——FastJson坑点

0 181

(54条消息) 【避坑】FastJson稍微使用不当就会导致StackOverflow_Bolon0708的博客-CSDN博客

(87 封私信 / 80 条消息) json坑点 – 搜索结果 – 知乎 (zhihu.com)

记一次 FastJson 的踩坑经历 – 腾讯云开发者社区-腾讯云 (tencent.com)

fastjson的这些坑,你误入了没? | 码农家园 (codenong.com)

  • 写代码时候还是需要注意点,能稍微规范些,就尽量按照规范,就如本次提到的问题,向 JSONObject 中加入 List<map<string,object> 时,不妨先提前 toJSON 转换一番,这样版本升级也不会有问题。</map<string,object>
  • 由于依赖包升级导致不兼容的情况很常见,不过绝大多数都是向下兼容的,例如 JDK … 5、6、7、8 …,所以如果你正在开发核心代码,若涉及到版本更新,尽量考虑兼容性问题,如果涉及到老功能废弃时,不妨采用注解标注一下,这样后人会尽早发现问题。

在使用三方轮子时,尽可能做对三方的轮子了如之掌,知己知彼方能百战不殆。

知识记录

1.fastjson反序列化时,是能自动下划线转驼峰的。

例如:ReportExceptionDto dto = JSONObject.parseObject(jsonObject.toJSONString(), ReportExceptionDto.class);

参考文章:使用FastJson进行驼峰下划线相互转换写法及误区_氵奄不死的鱼的博客-CSDN博客_fastjson 驼峰转下划线

2.JSONObject.toJSONString()默认忽略值为null的属性

如下图:new出的对象中,如果存在属性的值为null,那么toJSONString生成的字符串不会有该属性;

怎么设置不忽略呢?让值为null的属性,写入空值,如下图

/**  * 过滤规则 - 避免toJSONString过滤空值对应的key  */ private static ValueFilter valueFilter = (o,s,o1) -> o1 == null ? "" : o1;

SIMILAR ARTICLES

发表评论

发表评论