我在Json文件中有一组数据,这些数据代表每个国家每年的GPD演变。我正在尝试将数据提取到列表中,其中每年将是列表中的字典。
这是我尝试使用的Json的一部分:
{
"Name": "GPD per capita",
"Description": "Real GDP per capita in 2011US$, 2011 benchmark (suitable for cross-country growth comparisons)",
"Suffix": "$",
"Multiplier": "1",
"Data": [
{
"year": "1",
"Belgium": "1050",
"Switzerland": "1050",
"Egypt": "1225",
"Spain": "973",
"France": "1050",
"Greece": "1400",
"Iran (Islamic Republic of)": "1225",
"Iraq": "1225",
"Israel": "1225",
"Italy": "1546",
"Jordan": "1225",
"Portugal": "1050",
"Tunisia": "1225",
"Turkey": "984"
},
{
"year": "730",
"Egypt": "1278",
"Iraq": "1610",
"Japan": "633"
},
...
这是应该反序列化Json文件的类:
[Serializable]
public class Collection
{
public string Name;
public string Description;
public string Suffix;
public ulong Multiplier;
public List<IDictionary<string, ulong>> Data;
}
当我执行Collection collection = JsonConvert.DeserializeObject<Collection>(jsonFile.ToString());
时,所有属性都显示在控制台上,但不显示Data列表。
如何正确反序列化这种结构?
[interface
s不可(De)Serializable,因为反序列化器无法确定应该对其反序列化的最终实际类型。