gpt4 book ai didi

asp.net-mvc - 从 Asp.net WEBAPI 显式返回 JSON 字符串?

转载 作者:IT老高 更新时间:2023-10-28 12:42:50 25 4
gpt4 key购买 nike

在某些情况下,我有 NewtonSoft JSON.NET,在我的 Controller 中,我只是从 Controller 返回 Jobject,一切都很好。

但我有一个案例,我从另一个服务获取了一些原始 JSON,需要从我的 webAPI 返回它。在这种情况下,我不能使用 NewtonSOft,但如果可以的话,我会从字符串创建一个 JOBJECT(这似乎是不需要的处理开销)并返回它,一切都会好起来的。

但是,我想简单地返回它,但如果我返回字符串,那么客户端会收到一个 JSON 包装器,其中包含我的上下文作为编码字符串。

如何从我的 WebAPI Controller 方法显式返回 JSON?

最佳答案

有几种选择。最简单的方法是让您的方法返回一个 HttpResponseMessage,并根据您的字符串使用 StringContent 创建该响应,类似于以下代码:

public HttpResponseMessage Get()
{
string yourJson = GetJsonFromSomewhere();
var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(yourJson, Encoding.UTF8, "application/json");
return response;
}

并检查 null 或空 JSON 字符串

public HttpResponseMessage Get()
{
string yourJson = GetJsonFromSomewhere();
if (!string.IsNullOrEmpty(yourJson))
{
var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(yourJson, Encoding.UTF8, "application/json");
return response;
}
throw new HttpResponseException(HttpStatusCode.NotFound);
}

关于asp.net-mvc - 从 Asp.net WEBAPI 显式返回 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com