使用对象内部列表中的字典反序列化Json对象

问题描述 投票:0回答:1

我在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列表。

如何正确反序列化这种结构?

json list dictionary unity3d
1个回答
0
投票

[interface s不可(De)Serializable,因为反序列化器无法确定应该对其反序列化的最终实际类型。

© www.soinside.com 2019 - 2024. All rights reserved.