Estoy tratando de deserializar una información json en una clase de modelo, pero estoy fallando. Aquí es lo que hago:No se puede deserializar la matriz JSON en tipo - Json.NET
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();
}
}
Así es como mi modelo se parece a:
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; }
}
Se puede ver el JSON que estoy recibiendo aquí: http://api.worldbank.org/incomeLevels/LIC/countries?format=json
Este es el error que consigo:
No se puede deserializar la matriz JSON en el tipo 'Mvc4AsyncSample.Models.CountryModel'. Línea 1, posición 1.
que no parece como una buena representación JSON. Tal vez sería mejor si utilizó el formato XML. – svick
Sí, eso creo. Ponen un solo objeto dentro de una matriz. No debería estar allí, creo. Cualquier forma posible de moverse? – tugberk
El XML es mucho más limpio, yo iría por eso: http://api.worldbank.org/incomeLevels/LIC/countries?format=xml –