将JSON反序列化为C#List

时间:2014-12-09 20:58:22

标签: c# json

我正在尝试将JSON字符串反序列化为C#列表。

字符串如下所示:

{
    "object": {
        "key1":"",
        "key2":""
    },
    "someOtherObject": {
        "key1":"",
    },
    "anotherObject": {
        "key1":"",
        "key2":""
    }
}

我已尝试使用JsonConvert.DeserializeObject,但由于每个对象都有不同的名称,因此无效。

这个对象名称的解决方法是什么,可能会作为另一个密钥存储?

根据我的发现,我可以创建对象类,someOtherObject类和anotherObject类,并指定它们的字段以及getter和setter,如果我没有100多个这样的类来创建和设置就不会有问题。他们的结构(领域)保持不变。

1 个答案:

答案 0 :(得分:2)

您可以使用Dictionary

var dict = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(json);

如果您的密钥始终为key1key2,您还可以使用临时类

public class DummyClass
{
    public string Key1 { set; get; }
    public string Key2 { set; get; }
}

var dict2 = JsonConvert.DeserializeObject<Dictionary<string,DummyClass>>(DATA);