.NET Core 2.1使用自定义JSON格式化器返回响应如何编写返回语句?
解决方案
- 你遇到的是.NET Framework和.NET Core API写法的差异问题,.NET Core里已经不存在接收4个参数的
Content方法重载,直接使用JsonResult指定自定义序列化配置即可实现需求。 - 首先确认你已经按照教程完成了自定义ContractResolver的编写,接下来直接用如下代码构造返回值即可:
// 构造自定义序列化配置 var jsonSettings = new JsonSerializerSettings { ContractResolver = new 你的自定义ContractResolver类名() }; // 返回指定序列化规则的JSON结果 return new JsonResult(objectToReturn, jsonSettings) { StatusCode = StatusCodes.Status200OK };
- 如果项目没有引入Newtonsoft.Json支持,需要先在
Startup.cs的ConfigureServices方法中添加如下配置:
services.AddMvc() .AddNewtonsoftJson();
- 该方案只会影响当前GET接口的JSON输出规则,POST接口的模型绑定逻辑使用默认序列化配置,所以指定属性依然可以正常接收传值,完全符合需求。
内容的提问来源于stack exchange,提问作者JetsON
相关产品推荐
相关产品推荐

