fastjson中重複實體的引用問題
阿新 • • 發佈:2018-12-26
今天在做一個遞迴的時候遇到輸出的資料有$.data[2].indexs[0]的情況,在網上查詢了fastjson預設對重複的引用使用
ref方式。
DisableCircularReferenceDetect:消除對同一物件迴圈引用的問題,預設為false
FastJson提供了SerializerFeature.DisableCircularReferenceDetect這個序列化選項,用來關閉引用檢測。關閉引用檢測後,重複引用物件時就不會被$ref代替,但是在迴圈引用時也會導致StackOverflowError異常。
錯誤的輸出示例:
{ "function_id": 54, "function_name": "行業點取值函式", "indexs": [{ "$ref": "$.data[2].indexs[0]" }, { "$ref": "$.data[2].indexs[1]" }
關閉迴圈引用示例如下:
JSONArray list = HelpCenterManageService.getAllNodes();
JSONObject json = new JSONObject();
JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);
---------------------
作者:隨風yy
來源:CSDN
原文:https://blog.csdn.net/yaomingyang/article/details/80684576
版權宣告:本文為博主原創文章,轉載請附上博文連結!