代码之家  ›  专栏  ›  技术社区  ›  James

从Web API获取JSON响应

  •  1
  • James  · 技术社区  · 7 年前

    我想得到 JSON 来自的响应 Web API 呼叫我这样称呼它

    HttpClient client = new HttpClient();
    client.BaseAddress = new Uri("http://myapi.proj.com/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Add("Authorization", "Basic TUNTRTpNQ1MhZTIwMTc=");
    client.DefaultRequestHeaders.Add("ClientURL", "http://123.com");
    var response = client.PostAsJsonAsync("api/name/", priceRequest).Result;
    

    我不能 JSON 在响应变量中。我想得到 JSON 响应并将其分配给我的 class 这有点像下面

    public class Information
    {
        public int id{ get; set; }
        public string Name{ get; set; }
        public string address{ get; set; }
    }
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   CodeFuller    7 年前

    试试这个:

    Information obj = await response.Content.ReadAsAsync<Information>();
    

    你需要参考 System.Net.Http.Formatting 扩展方法所在的程序集 ReadAsAsync<T> 定义。

        2
  •  0
  •   James    7 年前

    我发现自己

    var result = response.Content.ReadAsStringAsync().Result;
    var test = Newtonsoft.Json.JsonConvert.DeserializeObject(result);