在ASP.NET Core 2.0 Web Api中返回“原始” json

AFAIK在ASP.NET Core Web

Api中返回数据的标准方法是使用IActionResult并提供例如OkObject结果。这对对象很好用,但是如果我以某种方式获得了JSON字符串,而我只想将该JSON返回给调用者怎么办?

例如

public IActionResult GetSomeJSON()

{

return Ok("{ \"name\":\"John\", \"age\":31, \"city\":\"New York\" }");

}

ASP.NET Core在这里所做的是,它接收JSON字符串,然后再次将其包装到JSON中(例如,它转义了JSON)

返回纯文本[Produces("text/plain")]确实可以通过提供“

RAW”内容来工作,但是它还将响应的内容类型设置为PLAIN而不是JSON。我们[Produces("application/json")]在控制器上使用。

如何在不转义的情况下以普通的JSON内容类型返回JSON?

注意:JSON字符串的获取方式无关紧要,它可以来自第三方服务,也可以有一些特殊的序列化需求,因此我们希望进行自定义序列化,而不是使用默认的JSON.NET序列化器。

回答:

当然,在发布问题几分钟后,我偶然发现了一个解决方案:)

只需返回Content内容类型application/json

return Content("{ \"name\":\"John\", \"age\":31, \"city\":\"New York\" }", "application/json");

以上是 在ASP.NET Core 2.0 Web Api中返回“原始” json 的全部内容, 来源链接: utcz.com/qa/428177.html

回到顶部