.net core 中关于访问WebApi出现 The JSON value could not be converted to System.Nullable 的问题

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

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

 public void ConfigureServices(IServiceCollection services)
 {
      services.AddControllers().AddNewtonsoftJson();
      services.AddOptions();
 }

关于System.Text.Json与NewtonsoftJson的对比可以参考官方文档,(个人还是习惯用NewtonsoftJson)System.Text.Json局限性还是比较多的。

本文作者:風飄絮℃

本文链接:https://www.cnblogs.com/zacklau/p/11598955.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   風飄絮℃  阅读(3104)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起