ASP.NET Core web API通过System.Text.Json配置接口返回Json的格式
我们可以通过System.Text.Json中的配置类,来控制ASP.NET Core web API中接口返回Json的格式。下面的代码示例我们使用JsonSerializerOptions配置类,来控制接口返回Json的属性名采用驼峰命名,并且忽略为null的属性。
using Microsoft.AspNetCore.Mvc; using System.Text.Json; using System.Text.Json.Serialization; namespace AspNetCore8ParamDemo.Controllers { [Route("api/[controller]")] [ApiController] public class DataController : ControllerBase { /// <summary> /// 根据URL查询参数,返回一个Json对象 /// </summary> /// <param name="level">int?类型表示该参数可以不传</param> /// <param name="name">string?类型表示该参数可以不传,注意如果是string类型,那么表示该参数是必须要传的</param> /// <param name="isEnabled">bool?类型表示该参数可以不传</param> /// <returns></returns> [HttpGet] public IActionResult QueryParam([FromQuery] int? level, [FromQuery] string? name, [FromQuery] bool? isEnabled) { var data = new { Level = level, name = name, IsEnabled = isEnabled }; return new JsonResult(data, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, //接口返回的Json对象采用驼峰命名 DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull //接口返回的Json对象忽略为null的属性 }); } } }
使用Postman调用该接口,返回Json如下:

关于System.Text.Json的参考文献:
Ignore all null-value properties
浙公网安备 33010602011771号