我有一个类似JSON的数据
{
"40": {
"name": "Team A vs Team B",
"value": {
"home": 1,
"away": 0
}
},
"45": {
"name": "Team A vs Team C",
"value": {
"home": 2,
"away": 0
}
},
"50": {
"name": "Team A vs Team D",
"value": {
"home": 0,
"away": 2
}
}
}
所以它是一种匹配列表。我有将其反序列化为类的类:
public class Match
{
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "value")]
public Value Values { get; set; }
}
public class Value
{
[JsonProperty(PropertyName = "home")]
public int Home { get; set; }
[JsonProperty(PropertyName = "away")]
public int Away { get; set; }
}
我正在尝试反序列化这样的 JSON:
var mList= JsonConvert.DeserializeObject<List<Match>>(jsonstr);
但是我遇到了异常:
无法将当前JSON对象(例如{"name":"value"})反序列化为类型“System.Collections.Generic.List`1[ClassNameHere]”,因为该类型需要一个JSON数组(例如[1,2,3])才能正确反序列化。
如果我改变代码像这样:
var mList= JsonConvert.DeserializeObject(jsonstr);
然后它序列化,但不是作为列表,而是作为对象。我该如何修复这个问题?