从 API 中获得 JSON 的回复

Get response in JSON from API

我正在使用 HttpClient 从 ASP.NET Web API 控制器使用外部 API。我没有使用身份验证,只是一个令牌,所以我有:

using (var httpClient = new HttpClient()) {

  httpClient.DefaultRequestHeaders.Accept.Clear();

  httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

  HttpResponseMessage response = await httpClient.GetAsync(endpoint);

}

我总是收到 XML 格式的回复,但我发送 header 和 "application/json"。

我是不是遗漏了什么,这是外部 API 的问题吗?

我还能尝试什么来获得 JSON 中的响应?

API 开发人员是否尊重媒体类型 (application/json)。开发人员可以在客户端请求 JSON 时显式 return XML(如果他们想拖钓),但在这种情况下,它可能只是给你默认格式,因为他们不要检查 header 值。

检查文档或直接与他们联系以确认他们 return 数据的 JSON 格式以及如何格式化请求以获得 JSON.

您应该设置 Accept: application/json 以及 Content-Type: application/json.