C# 的默認 JSON 序列化工具 Newtonsoft.Json 是不支持循環引用的。當序列化對象時,如果存在循環引用,會拋出異常。
不過,可以通過設置 JsonSerializerSettings 的 PreserveReferencesHandling 屬性來支持循環引用的序列化。示例如下:
var settings = new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.Objects
};
string json = JsonConvert.SerializeObject(yourObject, settings);
通過設置 PreserveReferencesHandling 為 Objects,可以保留對象引用關系,從而支持序列化循環引用。