NetCore偶尔有用篇:NetCore项目WebApi返回Json属性大小写
Posted 陈银鑫的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NetCore偶尔有用篇:NetCore项目WebApi返回Json属性大小写相关的知识,希望对你有一定的参考价值。
一、概述
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; });
以上是关于NetCore偶尔有用篇:NetCore项目WebApi返回Json属性大小写的主要内容,如果未能解决你的问题,请参考以下文章
netcore开发windows普通服务(非Web)并一键发布到服务器
C#反射与特性:设计一个仿ASP.NETCore依赖注入Web
基于.NetCore开发博客项目 StarBlog - 图片批量导入