ASP.NET Core解析DataTable报错System.Text.Json.JsonException: A possible object cycle was detected which

一、错误信息说明
当运行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

posted @ 2022-09-14 12:49  绯颜旧雨  阅读(357)  评论(0编辑  收藏  举报