我正在尝试将JSON字符串反序列化为C#列表。
字符串如下所示:
{
"object": {
"key1":"",
"key2":""
},
"someOtherObject": {
"key1":"",
},
"anotherObject": {
"key1":"",
"key2":""
}
}
我已尝试使用JsonConvert.DeserializeObject
,但由于每个对象都有不同的名称,因此无效。
这个对象名称的解决方法是什么,可能会作为另一个密钥存储?
根据我的发现,我可以创建对象类,someOtherObject类和anotherObject类,并指定它们的字段以及getter和setter,如果我没有100多个这样的类来创建和设置就不会有问题。他们的结构(领域)保持不变。
答案 0 :(得分:2)
您可以使用Dictionary
var dict = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(json);
如果您的密钥始终为key1
和key2
,您还可以使用临时类
public class DummyClass
{
public string Key1 { set; get; }
public string Key2 { set; get; }
}
var dict2 = JsonConvert.DeserializeObject<Dictionary<string,DummyClass>>(DATA);