2014-02-05 72 views
0

如何从WebApi获取列表?从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类型,所以我怎么能转换它列出?:

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

JavaScriptSeralizer

var sr = new JavaScriptSerializer(); 
int[] arr = sr.Deserialize<int[]>(arrJSON); 

arrJSON是你从你的HTTP GetAsync呼叫收到一个字符串的响应。