You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core Web API中返回整数、字符串和JSON数据

在ASP.NET Core Web API中返回统一格式的结果

有两种常见的实现方式,都能满足你同时返回数字、字符串和列表数据的需求:

方式一:使用匿名对象快速实现

直接在API方法里构造匿名对象,通过Ok()方法返回即可,ASP.NET Core会自动将其序列化为符合你期望的JSON格式:

[Microsoft.AspNetCore.Mvc.HttpGet("myAPI")]
public IActionResult myAPI()
{
    List<Customer> listName = new List<Customer>();
    listName.Add(new Customer(1, "name1"));
    listName.Add(new Customer(2, "name2"));
    listName.Add(new Customer(3, "name3"));

    int codeResult = 222;
    string message = "mymessage";

    // 直接构造匿名对象返回
    return Ok(new { codeResult, message, data = listName });
}

这种方式无需额外定义类,适合快速实现单一API的返回需求,最终输出的JSON结构完全匹配你给出的示例。

方式二:定义通用响应类(推荐用于多API统一格式)

如果你的项目中有多个API需要返回相同结构的结果,建议定义一个通用的响应类,方便复用和维护:

首先创建通用响应类:

public class ApiResponse<T>
{
    public int CodeResult { get; set; }
    public string Message { get; set; }
    public T Data { get; set; }
}

然后修改API方法的返回逻辑:

[Microsoft.AspNetCore.Mvc.HttpGet("myAPI")]
public IActionResult myAPI()
{
    List<Customer> listName = new List<Customer>();
    listName.Add(new Customer(1, "name1"));
    listName.Add(new Customer(2, "name2"));
    listName.Add(new Customer(3, "name3"));

    int codeResult = 222;
    string message = "mymessage";

    // 实例化通用响应类并赋值
    var response = new ApiResponse<List<Customer>>
    {
        CodeResult = codeResult,
        Message = message,
        Data = listName
    };
    return Ok(response);
}

ASP.NET Core默认的JSON序列化配置会自动将类的大驼峰属性转换为小驼峰,所以最终输出的JSON格式和你期望的完全一致。

内容的提问来源于stack exchange,提问作者user20215415

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:01:19