我花了一些时间试图弄清楚这个,所以我决定在这里发布 - 希望它节省一些时间给别人。
我正在构建一个ASP.Net Core Web API MVC应用程序,该应用程序接受Get请求并调用外部API(在本例中为Bing Image Search)。返回结果时,它会给我一个转义的Json字符串。例如:
"{\"_type\": \"Images\", \"instrumentation\": {\"pageLoadPingUrl\": \"https:...}
而不是:
{
"_type": "Images",
"instrumentation": {
"pageLoadPingUrl": "https:....
}
然后,我希望将其传递回我的网络客户端,并取得各种成功。
我将很快发布我是如何解决它的。
干杯!
答案 0 :(得分:-1)
所以问题是我试图以错误的方式处理响应内容。我所要做的就是使用JsonConvert库。
我的完整API方法如下所示:
[HttpGet("{id}")]
public async Task<IActionResult> Get(string id)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "Enter your key here");
var uri = new Uri("uri to external API here + any parameters");
var response = await client.GetStringAsync(uri);
var jsonResponse = JsonConvert.DeserializeObject(response);
return Ok(jsonResponse);
}
}
干杯! :)