【发布时间】:2016-11-24 11:04:48
【问题描述】:
我正在尝试搜索此 Json 代码以查找统计信息:
{
"summonerId": 32033681,
"modifyDate": 1403658807000,
"champions": [{
"id": 40,
"stats": {
"totalSessionsPlayed": 1,
"totalSessionsLost": 0,
"totalSessionsWon": 1,
"totalChampionKills": 1,
"totalDamageDealt": 27006,
"totalDamageTaken": 9924,
"mostChampionKillsPerSession": 1,
"totalMinionKills": 17,
"totalDoubleKills": 0,
"totalTripleKills": 0,
"totalQuadraKills": 0,
"totalPentaKills": 0,
"totalUnrealKills": 0,
"totalDeathsPerSession": 2,
"totalGoldEarned": 8383,
"mostSpellsCast": 0,
"totalTurretsKilled": 2,
"totalPhysicalDamageDealt": 8957,
"totalMagicDamageDealt": 18049,
"totalFirstBlood": 0,
"totalAssists": 13,
"maxChampionsKilled": 1,
"maxNumDeaths": 2
}
},
{
"id": 36,
"stats": {
"totalSessionsPlayed": 1,
"totalSessionsLost": 1,
"totalSessionsWon": 0,
"totalChampionKills": 0,
"totalDamageDealt": 14267,
"totalDamageTaken": 7649,
"mostChampionKillsPerSession": 0,
"totalMinionKills": 33,
"totalDoubleKills": 0,
"totalTripleKills": 0,
"totalQuadraKills": 0,
"totalPentaKills": 0,
"totalUnrealKills": 0,
"totalDeathsPerSession": 5,
"totalGoldEarned": 3258,
"mostSpellsCast": 0,
"totalTurretsKilled": 0,
"totalPhysicalDamageDealt": 4992,
"totalMagicDamageDealt": 9165,
"totalFirstBlood": 0,
"totalAssists": 0,
"maxChampionsKilled": 0,
"maxNumDeaths": 5
}
}]
}
在以下示例中,我希望能够搜索 id 36 的 totalSessionsWon。我尝试访问数据,我一直在访问其他 JSON 文件中的数据,但它不允许我指定我的冠军的 id我正在寻找:
string jsonInput = new WebClient().DownloadString(@usableurl); //Reads the JSON from the API
string usableJson = @"JObject.Parse(jsonInput)"; //converts the JSON from the API to a usable form
var usableJson["champions"]["stats"]["totalSessionWon"];
有没有一种方法可以让我根据之前的 id 选择特定的统计数据?
我是使用 JSON 和 C# 的新手,因此特别感谢您的帮助!
【问题讨论】:
-
JSON 的结构看起来不错。看起来您需要了解更多关于 JSON 以及如何使用 C# 读取/写入它的信息。如果您在网上搜索它,可以找到很多关于该主题的教程。如果您只是在寻找教程,它们是 Stack Overflow 上的 off topic。但是,如果您发布当前尝试的代码,我们可以帮助您找出在访问所需数据时出错的地方。
-
@Plutonix 那个负鼠对你做了什么?
-
@AsadSaeeduddin 她忽略了右侧相关下所有评价很高的链接。 ;)
-
令人惊讶的是,一个问题的变化如此之快......就像 “有没有办法可以将统计信息移动到 id 下方?” 被编辑为 “有没有一种方法可以让我根据之前的 id 选择一个特定的统计数据?” ...小心你的下一个问题@Dan :-)