Ne peut pas désérialiser tableau JSON dans le type - Json.NET

Je suis en train de désérialiser une des données json dans une classe de modèle mais je suis faute de. Voici ce que je fais:

    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<List<CountryModel>>(result);

            return output.First();
        }
    }

C'est de cette façon que mon modèle ressemble:

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<Country> 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; }
}

Vous pouvez voir le Json je suis ici: http://api.worldbank.org/incomeLevels/LIC/countries?format=json

C'est l'erreur que je reçois:

Ne peut pas désérialiser tableau JSON dans le type 'Mvc4AsyncSample.Modèles.CountryModel'. Ligne 1, position 1.

Qui ne semble pas être une bonne représentation JSON. Il serait peut-être mieux si vous avez utilisé le format XML.
Oui, je le pense. Ils ont mis un seul objet à l'intérieur d'un tableau. Il ne devrait pas être là, je pense. De toute façon possible de se déplacer?
Le XML est beaucoup plus propre, j'irais pour que: api.worldbank.org/incomeLevels/LIC/countries?format=xml
Je pense que, autant que je sache, l'Json.NET la Sérialisation est beaucoup plus rapide que .NET la Sérialisation XML. C'est pourquoi j'insiste sur JSON. Mais je ne suis pas sûr si je suis à 100% correct ici.
Ah je vois, si la vitesse est votre inquiétude, mais vous souhaiterez peut-être consulter d'autres JSON bibliothèques: theburningmonk.com/2011/08/performance-test-json-serializers (ou code.google.com/p/protobuf-net)

OriginalL'auteur tugberk | 2012-02-26