温馨提示×

C# json序列化支持循环引用吗

c#
小樊
117
2024-07-19 13:15:40
栏目: 编程语言

C# 的默认 JSON 序列化工具 Newtonsoft.Json 是不支持循环引用的。当序列化对象时,如果存在循环引用,会抛出异常。

不过,可以通过设置 JsonSerializerSettings 的 PreserveReferencesHandling 属性来支持循环引用的序列化。示例如下:

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

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

通过设置 PreserveReferencesHandling 为 Objects,可以保留对象引用关系,从而支持序列化循环引用。

0