fastjson支持循環(huán)引用,并且是缺省打開的。
當序列化后的JSON傳輸?shù)綖g覽器或者其他語言中,這些json解析器不支持循環(huán)引用,從而導(dǎo)致數(shù)據(jù)丟失。你可以關(guān)閉fastjson的循環(huán)引用支持。關(guān)閉引用檢測,還能夠提升序列化時的性能。
全局配置關(guān)閉
JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask();
非全局關(guān)閉
JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect);
語法 | 描述 |
---|---|
{"$ref":"$"} | 引用根對象 |
{"$ref":"@"} | 引用自己 |
{"$ref":".."} | 引用父對象 |
{"$ref":"../.."} | 引用父對象的父對象 |
{"$ref":"$.members[0].reportTo"} | 基于路徑的引用 |
更多建議: