ASP.NET Core从2.1 --> 3.1后出现 [The JSON value could not be converted to System.Nullable]错误

解决方案如下:
出现如上的错误,是因为从ASP.NET Core 3.0开始,默认使用了微软内置的JSON序列化和反序列化类库:System.Text.Json,此类库中并没有像Json.NET中实现这些特殊数据类型的JSON转换,所以如果遇到这个问题:

你可以手动安装 Json.NET 这替换 System.Text.Json 这个内置的JSON序列化类库;
或者在包管理控制台输入如下命令:
Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson
或者在项目中右键,选择:管理NuGet程序包,在浏览中搜索:Microsoft.AspNetCore.Mvc.NewtonsoftJson 点击安装即可;
然后修改Startup.cs的服务注册,如下:
services.AddControllers().AddNewtonsoftJson();

https://github.com/dotnet/runtime/issues/30687

https://www.cjavapy.com/article/174/

https://docs.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to?pivots=dotnet-5-0

https://www.cnblogs.com/xiatiandegaga/p/13164502.html

https://www.cnblogs.com/taadis/p/12165101.html

https://q.cnblogs.com/q/115234/

https://www.cnblogs.com/yxcn/p/14717377.html

 

posted @ 2022-02-08 15:00  IT苦行僧-QF  阅读(362)  评论(0编辑  收藏  举报