.net core返回json首字母小寫的問題解決


在寫.net core項目時發現后台返回的json數據的首字母都是小寫,然而我定義的卻是大寫。原來.net core使用Newtonsoft.Json時采用駝峰樣式的key。要想改為我們想要的效果那就不使用默認的駝峰式命名。有兩種方式。一種是返回數據時進行設置,另一種是全局設置

 一.返回數據時設置

     [HttpPost]
        public ActionResult GetData(int? id)
        {
            JsonSerializerSettings settings = new JsonSerializerSettings();
            //EF Core中默認為駝峰樣式序列化處理key
            //settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            //使用默認方式,不更改元數據的key的大小寫
            settings.ContractResolver = new DefaultContractResolver();
            return Json(bll.GetData(id),settings);
        }

二.全局設置

  在Startup文件中進行配置

   public void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient<HomeBll>();
            services.AddTransient<ProductBll>();
            //全局配置Json序列化處理
            services.AddMvc().AddNewtonsoftJson(options =>
            {
            //忽略循環引用
            options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            //不使用駝峰樣式的key
            options.SerializerSettings.ContractResolver = new DefaultContractResolver();
            //設置時間格式
            options.SerializerSettings.DateFormatString = "yyyy-MM-dd";
             });
        }

 


免責聲明!

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



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