我让Json这样:
{
"data": {
"50014992": {
"value1": "fr",
"value2": 1378928660,
"value3": 500149927
},
"500149928": {
"value1": "fr",
"value2": 1378928660,
"value3": 500149927
},
"50014999": {
"value1": "fr",
"value2": 1378928660,
"value3": 500149927
},
"50014991": {
"value1": "fr",
"value2": 1378928660,
"value3": 500149927
}
}
}
我试图通过Newtonsoft Json反序列化它:
public class Test
{
public Data data { get; set; }
public class Data
{
public Dictionary<int, Values> values { get; set; }
}
public class Values
{
public string value1 { get; set; }
public int value2 { get; set; }
public int value3 { get; set; }
}
}
反序列化不会引发错误,但值始终为NULL
如何使用嵌套在另一个对象中的不同键反序列化多个对象?
答案 0 :(得分:1)
我不确定,因为我现在无法测试。但是,您应该将data
类型从自定义类更改为Dictionary<string, Values>
。
正好string
而不是int
因为在你的Json中你有这些数字在括号中,我记得,Json库不会为你解析它们。
所以最终的类结构看起来应该是这样的:
public class Test
{
public Dictionary<string, Values> data { get; set; }
}
public class Values
{
public string value1 { get; set; }
public int value2 { get; set; }
public int value3 { get; set; }
}