.net core3.1 web api中使用newtonsoft替換掉默認的json序列化組件


在微軟的文檔中,有着較為詳細的替換教程

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

但是微軟的文檔並不算太詳細,對於新手而言,着實不算太友好。以下是我基於微軟給出的方案,列出的更為詳盡的方案。

第一步,引入包

 

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

 services.AddControllers()
            #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數據中,所有名稱都是小寫開頭,說明我們前面的配置已經生效。

至此,替換成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM