實體轉化為json字串後出現了$ref字樣的東西,這是因為在傳輸的資料**現相同的物件時,fastjson預設開啟引用檢測將相同的物件寫成引用的形式
引用是通過"$ref"來表示的
引用描述
"$ref":".."
上一級"$ref":"@"
當前物件,也就是自引用
"$ref":"$"
根物件"$ref":"$.children.0"
基於路徑的引用,相當於 root.getchildren().get(0)
解決辦法
// 單個關閉
json.tojsonstring(object, serializerfeature.disablecircularreferencedetect);
// 全域性配置關閉
json.default_generate_feature |= serializerfeature.disablecircularreferencedetect.getmask();
fastJson輸出json時避免 ref
場景 新手小白在開發中使用fastjson列印返回結果時出現 ref情況。場景問題描述 對現有介面新增了分頁功能,因為分頁功能返回前端的是固定模板,返回的陣列資料欄位名必須為resultlist,考慮到前端可能沒上線,後台新增get方法,兩種方式相容 tostring callsuper true ...
解決使用fastJson中出現 ref問題
首先 部門與組織是manytoone和onetomany的關係,並且兩張表都有自關聯,查詢部門資訊時會級聯查詢上級部門以及他的組織結構,然後返回json資料時,會出現 ref 即 為了攻破它,在兩張表的onetomany那方,也就是set的那方,加乙個fastjson的註解 jsonfield se...
fastjson輸出json字串ref問題
最近在排查問題的時候,日誌列印的採用物件的輸出的方式是jsonobject.tojsonstring object 的方式,發現乙個問題,會列印出 ref的符號。最開始懷疑是框架的問題,後來檢視了原始碼發現問題並沒這麼簡單,這是fastjson庫的乙個特性。是為了節省列印空間也為了表示物件引用關係。...