title: Cannot deserialize JSON array into type - Json.NET
body: <p>I am trying to deserialize a json data into a model class but I am failing. Here is what I do:</p>
  
  <pre><code>    public CountryModel GetCountries() {
  
          using (WebClient client = new WebClient()) {
  
              var result = client.DownloadString("http://api.worldbank.org/incomeLevels/LIC/countries?format=json");
  
              var output = JsonConvert.DeserializeObject&lt;List&lt;CountryModel&gt;&gt;(result);
  
              return output.First();
          }
      }
  </code></pre>
  
  <p>This is how my model looks like:</p>
  
  <pre><code>public class CountryModel
  {
      public int Page { get; set; }
      public int Pages { get; set; }
      public int Per_Page { get; set; }
      public int Total { get; set; }
  
      public List&lt;Country&gt; Countries { get; set; }
  }
  
  public class Country
  {
      public int Id { get; set; }
      public string Iso2Code { get; set; }
      public string Name { get; set; }
      public Region Region { get; set; }
  }
  
  public class Region
  {
      public int Id { get; set; }
      public string Value { get; set; }
  }
  </code></pre>
  
  <p>You can see the Json I am getting here: <a href="http://api.worldbank.org/incomeLevels/LIC/countries?format=json" rel="noreferrer">http://api.worldbank.org/incomeLevels/LIC/countries?format=json</a></p>
  
  <p>This is the error I get:</p>
  
  <blockquote>
    <p>Cannot deserialize JSON array into type 'Mvc4AsyncSample.Models.CountryModel'. Line 1, position 1.</p>
  </blockquote>