C# json序列化支持循環(huán)引用嗎

c#
小樊
100
2024-07-19 13:15:40
欄目: 編程語言

C# 的默認(rèn) JSON 序列化工具 Newtonsoft.Json 是不支持循環(huán)引用的。當(dāng)序列化對(duì)象時(shí),如果存在循環(huán)引用,會(huì)拋出異常。

不過,可以通過設(shè)置 JsonSerializerSettings 的 PreserveReferencesHandling 屬性來支持循環(huán)引用的序列化。示例如下:

var settings = new JsonSerializerSettings
{
    PreserveReferencesHandling = PreserveReferencesHandling.Objects
};

string json = JsonConvert.SerializeObject(yourObject, settings);

通過設(shè)置 PreserveReferencesHandling 為 Objects,可以保留對(duì)象引用關(guān)系,從而支持序列化循環(huán)引用。

0