NetCore偶爾有用篇:NetCore項目WebApi返回Json屬性大小寫,含NetCore2.0 NetCore3.0


一、概述


1、前面文章介紹Controller的大小寫問題時,目的只是介紹它的差異性,有同學回復了,這里把它作為一個點寫一下吧。

 

二、默認定義的轉換結果


1、寫一個返回對象的方法。

2、運行查看結果。

    public class OneController : Controller
    {
        public Model GetString(string id)
        {
            return new Model() { ID = id, Name = "aa" };
        }
    }

    public class Model
    {
        public string ID { get; set; }
        public string Name { get; set; }
    }

運行結果 

 三、自定義轉換方法 (以下是NetCore 2.0的寫法)


1、添加Startup自定義轉換代碼。

2、重新運行查看結果。

 

 四、自定義轉換方法 (以下是NetCore 3.0的寫法)


 需要先引用 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包 

            services.AddMvc().AddNewtonsoftJson(options =>
            {
                // 忽略循環引用
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                // 不使用駝峰
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                // 設置時間格式
                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                // 如字段為null值,該字段不會返回到前端
                // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
            });
            //
            services.AddControllers().AddNewtonsoftJson(options =>
            {
                // 忽略循環引用
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                // 不使用駝峰
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                // 設置時間格式
                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                // 如字段為null值,該字段不會返回到前端
                // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
            });

 


免責聲明!

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



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