如何访问API响应的内容?

时间:2015-05-12 17:51:29

标签: c# asp.net json mandrill

我尝试使用方法" ping来实现最简单的this案例并调用Mandrill的API。"响应应该是乒乓球。使用有效密钥,响应似乎有效。但是,我无法访问响应的内容。

代码如下:

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对象的结构,以便我可以访问电子邮件的详细信息。

2 个答案:

答案 0 :(得分:1)

如果您只想将响应读作字符串:

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

如果要反序列化到某个类(在本例中为MyClass类型):

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

答案 1 :(得分:0)

我会使用类似JSON.Net的内容将其序列化为您可以使用的C#对象。