當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
net.sf.json.JSONArray之fromObject的坑
生活随笔
收集整理的這篇文章主要介紹了
net.sf.json.JSONArray之fromObject的坑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前段時間掀起了風風火火的去fastjson, 其他Json序列化方法, 又"重見天日"; 本來推薦使用gson作為替代(某些場景下Jackson); 但這位同學使用的net.sf.json, 但缺乏認知, 未經測試就上線,導致了問題。
Case
當JSONArray.fromObject(null)時, 結果也為null嗎?
Detect
首先我們給出結論是:
JSONArray jsonArray = JSONArray.fromObject(null); jsonArray結果是包含JSONNull的, 長度為1的JSONArray, JSONNull也并不是一個null object那么讓我們看看JSONArray.fromObject發生了什么
在工程當前使用的版本中, 是這么實現的
最終在 net.sf.json.AbstractJSON#_processValue, 返回了JSONNull對象
protected Object _processValue(Object value, JsonConfig jsonConfig) {// 命中這步邏輯:if (JSONNull.getInstance().equals(null)) {return JSONNull.getInstance();}.... }那么為什么JSONNull.getInstance().equals(null)
這完全取決于equals方法的實現
總結
以上是生活随笔為你收集整理的net.sf.json.JSONArray之fromObject的坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Solaris 下 Oracle imp
- 下一篇: C socket demo