數據傳輸使用json格式再方便不過了。
fastjson 由阿里巴巴那夥人使用Java語言編寫,號稱最快的JSON庫
前兩天遇到一個問題 後臺的數據轉化爲json字符串後發送到前臺出現了$ref字樣的東西,後來明白了這是引用,在傳輸的數據中出現相同的對象時,fastjson默認開啓引用檢測將相同的對象寫成引用的形式.
說到引用分爲兩種,重複引用和循環引用前端
指一個對象重複出現屢次json
指你內心有我,我內心有你(互相引用),這個問題比較嚴重,若是處理很差就會出現StackOverflowError異常code
1.單個關閉 JSON.toJSONString(object, SerializerFeature.DisableCircularReferenceDetect); 2.全局配置關閉 JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask();
1.若是你前端用不到這個屬性在該屬性的get方法上加上註解@JSONField(serialize=false), 這樣該屬性就不會被序列化出來,這個也能夠解決重複引用 2.修改表結構,出現循環引用了就是一個很失敗的結構了,否則準備迎接StackOverflowError異常。