• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
PowerCoder
博客园    首页    新随笔    联系   管理    订阅  订阅

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

Use a built-in naming policy

 

posted @ 2025-05-08 17:30  PowerCoder  阅读(86)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3