在使用JsonSerializerOptions时,在IgnoreReferenceLoopHandling选项中设置为true即可解决该问题。
示例代码:
// 在Startup.cs中注册JsonSerializerOptions: services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.IgnoreNullValues = true; options.JsonSerializerOptions.IgnoreReferenceLoopHandling = true; // 设置为true });
// 在使用JsonSerializerOptions的地方即时配置选项: var options = new JsonSerializerOptions { IgnoreNullValues = true, IgnoreReferenceLoopHandling = true, // 设置为true }; var json = JsonSerializer.Serialize(obj, options);