C#&.NET Core(.NET 5) Web API中如何将json字符串以JSON对象的格式返回给调用者/客户端呢?
2.12K 次浏览
在C#进行.NET Core(.NET 5) Web API的应用程序编程开发时,正常情况下在控制器中我们可以return Ok()
的方式返回IActionResult
的响应,并且默认情况下返回的响应数据是json对象,响应数据类型会被标记为application/json
。
但在一些特定场景中,比如有一个例子,在控制器中,我从另一个服务(Elasticsearch)以接口的方式获得一些原始JSON,这里得到的JSON数据是字符串格式的,并且需要将它以JSON对象的方式从web API返回给调用者。
在这种情况下,也不能使用NewtonSoft对这个JSON字符串进行反序列化操作,因为JSON字符串的内容和属性都是不确定的。如果直接使用如下方式:
[HttpGet]
public IActionResult Order()
{
var client = EsClient.Instance;
var response = client.LowLevel.DoRequest(HttpMethod.GET, "test-index/_count");
return Ok(response.Body);
}
调用者得到的是一个content-type: text/plain; charset=utf-8
格式的字符串文本,并非一个JSON对象。
那么,在C#&ASP.NET Core(.NET 5) Web API中,有没有办法将json字符串以JSON对象的格式返回给调用者/客户端呢?