我正在制作System.Net.Http.HttpClient
课来称呼终点。此端点期望某些输入并返回类型为Employee ( List<Employee>)
的用户定义对象的List。
这是我正在使用的代码。
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:7792/");
client.DefaultRequestHeaders.Accept.Clear();
FilterModel payload = new FilterModel();
payload.employeeId= 97050001;
payload.Level= "Manager";
// New code:
HttpResponseMessage response = client.PostAsJsonAsync("api/employee", payload).Result;
if (response.IsSuccessStatusCode)
{
var employee= response.Content.ReadAsStringAsync();
//HOW DO I CONVERT THE OUTPUT INTO LIST<EMPLOYEE>?
Console.Write("---DONE---");
}
Console.ReadKey();
}
我知道这不是呼叫终点的理想方式。我必须使用asyc等待。我只需要数据,呼叫可以是同步或异步&amp;我想将结果输入到List中。
目前我得到一个我需要反序列化的字符串。请帮忙
答案 0 :(得分:2)
您可以使用JsonConvert,如下所示:
var jsonString= response.Content.ReadAsStringAsync();
var employees = JsonConvert.DeserializeObject<List<Employee>>(jsonString);
希望这有帮助!
答案 1 :(得分:0)
2020年更新: 使用这样的东西:
return await response.Content.ReadFromJsonAsync<List<Employee>>();