Fastjson提供了一種用于處理循環引用的方式,即使用SerializerFeature.DisableCircularReferenceDetect
特性來禁用循環引用檢測。當禁用循環引用檢測后,Fastjson在序列化對象時不再檢測是否存在循環引用,從而避免了循環引用導致的無限遞歸序列化問題。
例如,可以通過以下方式來禁用循環引用檢測:
User user = new User();
User friend = new User();
user.setFriend(friend);
friend.setFriend(user);
String jsonString = JSON.toJSONString(user, SerializerFeature.DisableCircularReferenceDetect);
在上面的代碼中,我們創建了兩個User對象,并讓它們互相引用對方作為朋友。然后使用SerializerFeature.DisableCircularReferenceDetect
特性來序列化user對象,Fastjson會禁用循環引用檢測,成功地將這兩個對象序列化為JSON字符串,而不會發生循環引用的問題。