【发布时间】:2014-05-28 09:46:52
【问题描述】:
我正在尝试将 JSON 转换为对象以轻松访问统计信息。我目前为我的字典和字典得到一个空值。如果有人可以提供帮助,将不胜感激。
这是我的 JSON 示例:
{
"teamStats": {
"game2998": {
"dateTime": "2014-05-23T19:00Z",
"team304": {
"teamId": 304,
"teamName": "Cloud9 ",
"matchVictory": 1,
"matchDefeat": 0,
"baronsKilled": 2,
"dragonsKilled": 4,
"firstBlood": 0,
"firstTower": 0,
"firstInhibitor": 1,
"towersKilled": 10
},
"team1": {
"teamId": 1,
"teamName": "Team SoloMid",
"matchVictory": 0,
"matchDefeat": 1,
"baronsKilled": 0,
"dragonsKilled": 1,
"firstBlood": 1,
"firstTower": 1,
"firstInhibitor": 0,
"towersKilled": 5
},
"matchId": "2515"
}
},
"playerStats": {
"game2998": {
"dateTime": "2014-05-23T19:00Z",
"matchId": "2515",
"player328": {
"playerId": 328,
"kills": 1,
"deaths": 1,
"assists": 7,
"minionKills": 254,
"doubleKills": 0,
"tripleKills": 0,
"quadraKills": 0,
"pentaKills": 0,
"playerName": "Balls",
"role": "Top Lane"
},
"player329": {
"playerId": 329,
"kills": 4,
"deaths": 0,
"assists": 7,
"minionKills": 155,
"doubleKills": 1,
"tripleKills": 0,
"quadraKills": 0,
"pentaKills": 0,
"playerName": "Meteos",
"role": "Jungler"
}
}
}
}
这是我的课程示例:
public class RootObject
{
public Dictionary<string, GameT> teamStats { get; set; }
public Dictionary<string, GameP> playerStats { get; set; }
}
public class GameT
{
public string dateTime { get; set; }
public Dictionary<string, Team> blueTeam { get; set; }
public Dictionary<string, Team> purpleTeam { get; set; }
public string matchId { get; set; }
}
public class Team
{
public int teamId { get; set; }
public string teamName { get; set; }
public int matchVictory { get; set; }
public int matchDefeat { get; set; }
public int baronsKilled { get; set; }
public int dragonsKilled { get; set; }
public int firstBlood { get; set; }
public int firstTower { get; set; }
public int firstInhibitor { get; set; }
public int towersKilled { get; set; }
}
public class GameP
{
public string dateTime { get; set; }
public string matchId { get; set; }
public Dictionary<string, Player> blueTop { get; set; }
public Dictionary<string, Player> blueJungle { get; set; }
}
public class Player
{
public int playerId { get; set; }
public int kills { get; set; }
public int deaths { get; set; }
public int assists { get; set; }
public int minionKills { get; set; }
public int doubleKills { get; set; }
public int tripleKills { get; set; }
public int quadraKills { get; set; }
public int pentaKills { get; set; }
public string playerName { get; set; }
public string role { get; set; }
}
我的 null 问题的屏幕截图: http://i.imgur.com/XdYwlXo.gif
【问题讨论】:
-
json 方案不完全考虑到序列化/反序列化;没有办法让 json 更健全吗?
-
你放在这里的json无效
-
我正在从 API 中检索 Json,而 Json 本身就是一团糟。
标签: c# json serialization json.net deserialization