asp.net core3.1 返回数据超最大深度,死循环

记录一次asp.net core3.1 返回数据超最大深度
报错: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。

错误提示如下:

asp.net core3.1 返回数据超最大深度,死循环

百度了好久也没解决,百度上面的答案很少 还只有一种,就是安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包,,,但是这个包我早已经安装好了,而且在其他地方的使用却是正确的,在有token的过滤器中使用失败,然后我一直以为是过滤器的问题…(好吧,太多废话了,进入正题吧)

这是我的部分代码:
asp.net core3.1 返回数据超最大深度,死循环

原因如下,就是自己对自己无限套娃了 然后就超出 周期或物体深度大于最大允许深度32 了

在这里可以看到我customer这个属性一直在循环
asp.net core3.1 返回数据超最大深度,死循环

解决方案也很简单,新建一个类 里面有需要返回的字段,然后给字段赋值 再返回该类就可以了
反正就是让它不要在循环引用就行了

asp.net core3.1 返回数据超最大深度,死循环

最后特别感谢大佬的帮助

小白爱记录,排错不迷路