一、错误信息说明
当运行ASP.NET Core中的Web Api解析DataTable类型时,出现错误:
System.Text.Json.JsonException: A possible object cycle was detected which is not supported. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 32.
二、错误分析
该错误的中文大意:检测到不支持的可能的对象循环。这可能是由于循环造成的,或者如果对象深度大于允许的最大深度32。也就是说:目前Web Api中自带的【Systm.Text.Json】不支持解析DataTable为Json格式类型。
三、解决方法
①添加 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包
②在配置服务和应用的HTTP请求管道【Startup类中】添加这个【Microsoft.AspNetCore.Mvc.NewtonsoftJson】包的方法,如下所示:
//添加Newtonsoft.Json的引用
using Newtonsoft.Json;
//在ConfigureServices方法中添加这个NewtonsoftJson方法引用
services.AddControllers().AddNewtonsoftJson(option =>
//忽略循环引用
option.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore
);
③运行测试解析DataTable的方法即可
————————————————
原文链接:https://blog.csdn.net/xiaochenXIHUA/article/details/120497188