如何从WebApi获取列表?
到目前为止,我有Api方法:
public IList<int> GetKeywordIdsById([FromBody]string id)
{
try
{
if (string.IsNullOrEmpty(id))
{
return null;
}
else
{
return _categoryService.GetKeywordIdsById(Convert.ToInt32(id));
}
}
catch
{
return null;
}
}
如何调用它并提取列表?
到目前为止,我这样称呼它,但结果来自String类型,那么如何将其转换为List?:
public List<int> GetKeywordIdsById(int id)
{
try
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(API_BASE_URL);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client.GetAsync("api/category/getkeywordidsbyid/" + id).Result.Content.ReadAsStringAsync().Result;
}
}
catch (Exception e)
{
logger.Log(LogLevel.Info, e);
return null;
}
}
答案 0 :(得分:2)
像这样:
client.GetAsync("api/category/getkeywordidsbyid/" + id).Result.Content.ReadAsAsync<List<int>>().Result;
请参阅asp.net上的这篇文章:
答案 1 :(得分:0)
var sr = new JavaScriptSerializer();
int[] arr = sr.Deserialize<int[]>(arrJSON);
arrJSON
是您从http GetAsync调用中收到的字符串响应。