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

Web API 2:返回类型为IHttpActionResult时如何返回无引号纯字符串

解决方案:无需修改IHttpActionResult返回纯文本字符串

没问题!不用修改IHttpActionResult的返回类型,完全能实现返回不带双引号的纯文本字符串。原来的Ok("...")之所以带引号,是因为框架默认把传入的字符串序列成了JSON格式——而JSON里的字符串本身就需要双引号包裹。下面给你两种靠谱的实现方式:

方法1:使用Content()方法(推荐)

直接用Content()方法指定响应的媒体类型为text/plain,这样框架就不会把内容序列化为JSON,直接返回纯文本:

public IHttpActionResult Get()
{
    return Content(HttpStatusCode.OK, "I am send by HTTP response", new MediaTypeHeaderValue("text/plain"));
}

这里的核心是第三个参数MediaTypeHeaderValue("text/plain"),它告诉客户端返回的是纯文本而非JSON,所以输出就不会带双引号了。

方法2:使用ResponseMessage()手动构建响应

如果你需要更精细地控制HTTP响应的细节,可以手动构建HttpResponseMessage,再通过ResponseMessage()包装成IHttpActionResult返回:

using System.Text;
using System.Net.Http.Headers;

public IHttpActionResult Get()
{
    var response = new HttpResponseMessage(HttpStatusCode.OK)
    {
        Content = new StringContent(
            "I am send by HTTP response", 
            Encoding.UTF8, 
            "text/plain"
        )
    };
    return ResponseMessage(response);
}

这种方式同样通过指定text/plain的内容类型,确保返回的是无引号的纯文本字符串。

注意事项

如果省略了媒体类型的指定,框架会默认使用application/json作为Content-Type,此时你的字符串还是会被序列化为带双引号的JSON格式,所以一定要记得设置text/plain哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:23:18