如何访问 API 响应的内容?

How do I access the content of an API response?

我试过使用 "ping." 方法调用 Mandrill 的 API 来实现 this 的最简单情况。响应应该是 pong。使用有效密钥,响应似乎有效。但是,我无法访问响应的内容。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Net.Http.Headers;

namespace MandrillAPI
{
    class Program
    {
        static void Main(string[] args)
        {
            string ping = "https://mandrillapp.com/api/1.0/users/ping.json";
            string key = "?key=123";
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri(ping);
            HttpResponseMessage response = client.GetAsync(key).Result;
            Console.WriteLine(response.ToString());
            Console.Read();
        }
    }
}

如何解压通话响应?最终,我需要使用 API 从服务器收集电子邮件,因此我需要以某种方式保留 json 对象的结构,以便我可以访问电子邮件的详细信息。

我会使用 JSON.Net 之类的方法将其序列化为您随后可以使用的 C# 对象。

如果您只想读取字符串形式的响应:

string content = response.Content.ReadAsStringAsync().Result

如果你想反序列化为某些 class(在本例中为 MyClass 类型):

MyClass myClass = JsonConvert.DeserializeObject<MyClass>(response.Content.ReadAsStringAsync().Result)