我有一个json文件:
...
"Key1": {
"Base": 123,
"Max": 1234
},
"Key2": {
"Base": 123,
"Max": 1234
},
"Key3": {
"Base": 123,
"Max": 1234
},
...
我需要将其反序列化为JsonConvert.DeserializeObject<T>(__json);
但是我需要使用键(Key1,Key2,Key3,...)作为我的反序列化对象的属性。 不幸的是,我无法使用备用反序列化方法,我无法修改json格式。
我的对象就是那样
public class Item {
public string Id { get; set; }
public int Base { get; set; }
public int Max { get; set; }
}
我的身份证应该是“Key1”,“Key2,......
有可能吗?
答案 0 :(得分:2)
制作自定义Key
课程:
public class Key {
public int Base { get; set; }
public int Max { get; set; }
}
然后将JSON结果中的每个项目存储在Dictionary
中,其中键是键名称,其值为Key
项:
var keyCollection = new Dictionary<string, Key>();
//you can then do stuff such as:
var maxOfKeyOne = keyCollection["Key1"].Max;
var baseOfKeyTwo = keyCollection["Key2"].Base;