【发布时间】:2016-05-27 13:43:00
【问题描述】:
我有以下由 vatlayer api 返回的 JSON 对象
{
"success":true,
"rates":{
"AT":{
"country_name":"Austria",
"standard_rate":20,
"reduced_rates":{
"foodstuffs":10,
"books":10,
"pharmaceuticals":10,
"passenger transport":10,
"newspapers":10,
"admission to cultural events":10,
"hotels":10,
"admission to entertainment events":10
}
},
"BE":{
"country_name":"Belgium",
"standard_rate":21,
"reduced_rates":{
"restaurants":12,
"foodstuffs":6,
"books":6,
"water":6,
"pharmaceuticals":6,
"medical":6,
"newspapers":6,
"hotels":6,
"admission to cultural events":6,
"admission to entertainment events":6
}
},
"BG":{
"country_name":"Bulgaria",
"standard_rate":20,
"reduced_rates":{
"hotels":9
}
}
...more obejcts
...more objects
...more objects
}
我想读取以下课程中的数据
public class Country{
public string ShortCode{get;set;}// AT, BE, etc are examples of shortcode
public string Country_Name{get;set;}// Austria, Belgium etc
public decimal Standar_Rate{get;set;}// 20 and 21 respectively
}
问题在于 Web 服务未将数据作为 JSON 对象数组发送。相反,它发送一个对象,其中每个国家的短代码是 JSON 中的关键。如何将此对象反序列化为List 或Array 的Country 对象。我愿意使用任何 JSON 转换器
【问题讨论】:
-
将其反序列化为
Dictionary<string,Country>,然后该字典的Values将为您提供您的收藏。
标签: c# .net json deserialization