Core3.0返回的Json数据大小写格式问题

前言

测试发现,CoreWebAPI返回的Json数据,会将字段的首字母转换为小写,

经百度得,返回数据会默认驼峰命名,导致的。

随即百度,

https://www.cnblogs.com/cdoneiX/p/12206803.html

此文,介绍了三种方法。

(一)通过Startup.cs设置项目级别的格式

(二)设置Controller/WebAPI级别的统一格式转换,这里用到了ActionFilterAttribute,扩展出一个CustomActionJsonFormatAttribute标签

(三)在代码返回的时候设置JsonResult,这个是最灵活但也最麻烦的方式

第一种方法,项目中始终无法获得该属性,

第二种方法,感觉也是有些麻烦,每个方法都要添加特性

第三种方法,采用的方法,因为创建了APIControllerBase.cs,对返回方法进行了封装,故采用该方法。

步骤

1.添加Nuget引用

Core3.0返回的Json数据大小写格式问题

 2.Startup.cs添加相关配置

AddNewtonsoftJson();来自于Microsoft.AspNetCore.Mvc.NewtonsoftJson扩展方法
            services.AddControllersWithViews()
                .AddNewtonsoftJson();

Core3.0返回的Json数据大小写格式问题

 3.返回信息添加Json配置

        /// <summary>
        /// 返回成功消息
        /// </summary>
        /// <param name="info">消息</param>
        /// <returns></returns>
        protected virtual IActionResult Success(string info)
        {
            return Json(new ResResult { Code = StatusCodes.Status200OK, Msg = info, Data = new object { } }
                , new JsonSerializerSettings
                {
                    ContractResolver = new DefaultContractResolver()
                });
        }

Core3.0返回的Json数据大小写格式问题

调用结果

返回的结果,跟后台声明类中的属性大小写一致。

Core3.0返回的Json数据大小写格式问题

 

Core3.0返回的Json数据大小写格式问题

上一篇:.net remoting(一)


下一篇:无法上传文件