首页 > Windows开发 > 详细

.net core3.1 web api中使用newtonsoft替换掉默认的json序列化组件

时间:2020-01-25 10:29:18      阅读:1073      评论:0      收藏:0      [点我收藏+]

在微软的文档中,有着较为详细的替换教程

https://docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/formatting?view=aspnetcore-3.1

但是微软的文档并不算太详细,对于新手而言,着实不算太友好。以下是我基于微软给出的方案,列出的更为详尽的方案。

第一步,引入包

技术分享图片

 

 第二步,修改sartups.cs中的 ConfigureServices

在web api项目中,加入以下代码:

技术分享图片

 

#region newtonsoft
.AddNewtonsoftJson(options =>
{
//修改属性名称的序列化方式,首字母小写
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

//修改时间的序列化方式
options.SerializerSettings.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy/MM/dd HH:mm:ss" });
}
);
#endregion

 

 至此,替换步骤结束。

接下来,让我们看一下是否是真的替换成功。

首先,在控制器里,添加一个get方法,输出类型为jsonresult

技术分享图片

 

在GetCartInfo方法中,返回类型如下

技术分享图片

 

 这是标准的C#命名方式,而我们前面配置的newtonsoft中,将属性首字母设置为了小写

 接下来运行项目,使用postman测试接口,测试结果如下:

技术分享图片

 

 

 

 可以发现,接收到的json数据中,所有名称都是小写开头,说明我们前面的配置已经生效。

至此,替换成功。

 

.net core3.1 web api中使用newtonsoft替换掉默认的json序列化组件

原文:https://www.cnblogs.com/shapman/p/12232640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!