Tôi đang cố gắng deserialize một dữ liệu json vào một lớp mô hình nhưng tôi không. Dưới đây là những gì tôi làm:Không thể deserialize JSON mảng thành loại - 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();
}
}
Đây là cách mô hình của tôi trông giống như:
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; }
}
Bạn có thể xem Json Tôi nhận được ở đây: http://api.worldbank.org/incomeLevels/LIC/countries?format=json
Đây là lỗi tôi nhận được:
Không thể deserialize mảng JSON thành loại 'Mvc4AsyncSample.Models.CountryModel'. Line 1, vị trí 1.
Đó dường như không giống như một đại diện JSON tốt. Có lẽ sẽ tốt hơn nếu bạn sử dụng định dạng XML. – svick
Vâng, tôi nghĩ vậy. Họ đặt một vật thể vào trong một mảng. Nó không nên ở đó tôi nghĩ. Có cách nào để đi lại không? – tugberk
XML là rất nhiều sạch hơn, tôi muốn đi cho rằng: http://api.worldbank.org/incomeLevels/LIC/countries?format=xml –