我想要完成的是拥有一个二维数组,其中x将存储页码,以及该页面的详细信息。原因是我有一个微调器,当你在位置x选择一个页面时,它会显示该页面的详细信息,y。还有另一种方法吗?我的代码一直遇到错误。请记住,对于用户查找的每个不同的ID,JSON的大小可以更改。
JSON:
{"23591778": {
"pages": [
{
"masteries": [
{
"id": 4211,
"rank": 2
},
{
"id": 4214,
"rank": 2
},
{
"id": 4134,
"rank": 3
},
{
"id": 4124,
"rank": 1
},
{
"id": 4114,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4112,
"rank": 4
},
{
"id": 4221,
"rank": 1
},
{
"id": 4144,
"rank": 1
},
{
"id": 4122,
"rank": 3
},
{
"id": 4152,
"rank": 3
},
{
"id": 4141,
"rank": 1
},
{
"id": 4111,
"rank": 1
},
{
"id": 4132,
"rank": 1
},
{
"id": 4232,
"rank": 1
},
{
"id": 4162,
"rank": 1
},
{
"id": 4131,
"rank": 1
}
],
"id": 34787712,
"name": "Blind",
"current": false
},
{
"masteries": [
{
"id": 4212,
"rank": 2
},
{
"id": 4233,
"rank": 3
},
{
"id": 4242,
"rank": 1
},
{
"id": 4214,
"rank": 2
},
{
"id": 4114,
"rank": 1
},
{
"id": 4251,
"rank": 1
},
{
"id": 4112,
"rank": 4
},
{
"id": 4222,
"rank": 3
},
{
"id": 4122,
"rank": 3
},
{
"id": 4262,
"rank": 1
},
{
"id": 4224,
"rank": 1
},
{
"id": 4252,
"rank": 3
},
{
"id": 4132,
"rank": 1
},
{
"id": 4241,
"rank": 3
},
{
"id": 4232,
"rank": 1
}
],
"id": 34787713,
"name": "AD/Tank Jungle",
"current": false
},
{
"masteries": [
{
"id": 4242,
"rank": 1
},
{
"id": 4233,
"rank": 3
},
{
"id": 4243,
"rank": 1
},
{
"id": 4211,
"rank": 2
},
{
"id": 4214,
"rank": 2
},
{
"id": 4213,
"rank": 2
},
{
"id": 4114,
"rank": 1
},
{
"id": 4252,
"rank": 2
},
{
"id": 4222,
"rank": 3
},
{
"id": 4113,
"rank": 4
},
{
"id": 4221,
"rank": 1
},
{
"id": 4123,
"rank": 3
},
{
"id": 4262,
"rank": 1
},
{
"id": 4224,
"rank": 1
},
{
"id": 4133,
"rank": 1
},
{
"id": 4234,
"rank": 1
},
{
"id": 4232,
"rank": 1
}
],
"id": 34787714,
"name": "Mumu",
"current": true
},
{
"masteries": [
{
"id": 4211,
"rank": 2
},
{
"id": 4121,
"rank": 1
},
{
"id": 4214,
"rank": 2
},
{
"id": 4134,
"rank": 3
},
{
"id": 4114,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4112,
"rank": 4
},
{
"id": 4144,
"rank": 1
},
{
"id": 4221,
"rank": 1
},
{
"id": 4152,
"rank": 3
},
{
"id": 4122,
"rank": 3
},
{
"id": 4141,
"rank": 1
},
{
"id": 4111,
"rank": 1
},
{
"id": 4132,
"rank": 1
},
{
"id": 4232,
"rank": 1
},
{
"id": 4162,
"rank": 1
},
{
"id": 4131,
"rank": 1
}
],
"id": 34787715,
"name": "vi/j4/wuk/xin/noc",
"current": false
},
{
"masteries": [
{
"id": 4212,
"rank": 2
},
{
"id": 4353,
"rank": 3
},
{
"id": 4211,
"rank": 2
},
{
"id": 4311,
"rank": 1
},
{
"id": 4362,
"rank": 1
},
{
"id": 4322,
"rank": 3
},
{
"id": 4334,
"rank": 1
},
{
"id": 4332,
"rank": 1
},
{
"id": 4352,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4314,
"rank": 1
},
{
"id": 4221,
"rank": 1
},
{
"id": 4331,
"rank": 3
},
{
"id": 4324,
"rank": 1
},
{
"id": 4313,
"rank": 3
},
{
"id": 4232,
"rank": 1
},
{
"id": 4342,
"rank": 1
},
{
"id": 4341,
"rank": 1
}
],
"id": 34787716,
"name": "Support",
"current": false
},
{
"masteries": [
{
"id": 4211,
"rank": 2
},
{
"id": 4214,
"rank": 2
},
{
"id": 4124,
"rank": 1
},
{
"id": 4114,
"rank": 1
},
{
"id": 4112,
"rank": 4
},
{
"id": 4222,
"rank": 3
},
{
"id": 4113,
"rank": 4
},
{
"id": 4122,
"rank": 3
},
{
"id": 4152,
"rank": 3
},
{
"id": 4224,
"rank": 1
},
{
"id": 4132,
"rank": 1
},
{
"id": 4142,
"rank": 3
},
{
"id": 4232,
"rank": 1
},
{
"id": 4162,
"rank": 1
}
],
"id": 34787717,
"name": "AD Jungle",
"current": false
},
{
"masteries": [
{
"id": 4212,
"rank": 2
},
{
"id": 4211,
"rank": 2
},
{
"id": 4121,
"rank": 1
},
{
"id": 4134,
"rank": 3
},
{
"id": 4124,
"rank": 1
},
{
"id": 4114,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4112,
"rank": 4
},
{
"id": 4221,
"rank": 1
},
{
"id": 4122,
"rank": 3
},
{
"id": 4152,
"rank": 3
},
{
"id": 4141,
"rank": 1
},
{
"id": 4142,
"rank": 1
},
{
"id": 4132,
"rank": 1
},
{
"id": 4232,
"rank": 1
},
{
"id": 4162,
"rank": 1
},
{
"id": 4131,
"rank": 1
}
],
"id": 34787718,
"name": "ADC",
"current": false
},
{
"masteries": [
{
"id": 4134,
"rank": 3
},
{
"id": 4312,
"rank": 2
},
{
"id": 4332,
"rank": 1
},
{
"id": 4124,
"rank": 1
},
{
"id": 4154,
"rank": 1
},
{
"id": 4323,
"rank": 1
},
{
"id": 4114,
"rank": 1
},
{
"id": 4113,
"rank": 4
},
{
"id": 4152,
"rank": 3
},
{
"id": 4123,
"rank": 3
},
{
"id": 4313,
"rank": 3
},
{
"id": 4133,
"rank": 1
},
{
"id": 4143,
"rank": 3
},
{
"id": 4162,
"rank": 1
},
{
"id": 4322,
"rank": 2
}
],
"id": 34787719,
"name": "AP Carry",
"current": false
},
{
"masteries": [
{
"id": 4214,
"rank": 2
},
{
"id": 4134,
"rank": 3
},
{
"id": 4213,
"rank": 2
},
{
"id": 4124,
"rank": 1
},
{
"id": 4154,
"rank": 1
},
{
"id": 4114,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4113,
"rank": 4
},
{
"id": 4152,
"rank": 3
},
{
"id": 4123,
"rank": 3
},
{
"id": 4224,
"rank": 1
},
{
"id": 4133,
"rank": 1
},
{
"id": 4232,
"rank": 1
},
{
"id": 4143,
"rank": 3
},
{
"id": 4162,
"rank": 1
}
],
"id": 34787720,
"name": "AP Jungle",
"current": false
},
{
"masteries": [
{
"id": 4233,
"rank": 3
},
{
"id": 4242,
"rank": 1
},
{
"id": 4211,
"rank": 2
},
{
"id": 4243,
"rank": 1
},
{
"id": 4214,
"rank": 2
},
{
"id": 4213,
"rank": 2
},
{
"id": 4212,
"rank": 1
},
{
"id": 4234,
"rank": 3
},
{
"id": 4251,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4221,
"rank": 1
},
{
"id": 4252,
"rank": 4
},
{
"id": 4224,
"rank": 1
},
{
"id": 4262,
"rank": 1
},
{
"id": 4241,
"rank": 3
},
{
"id": 4232,
"rank": 1
}
],
"id": 34787721,
"name": "Derp Tank",
"current": false
},
{
"masteries": [
{
"id": 4212,
"rank": 2
},
{
"id": 4214,
"rank": 2
},
{
"id": 4114,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4113,
"rank": 4
},
{
"id": 4122,
"rank": 3
},
{
"id": 4152,
"rank": 3
},
{
"id": 4123,
"rank": 3
},
{
"id": 4141,
"rank": 1
},
{
"id": 4224,
"rank": 1
},
{
"id": 4111,
"rank": 1
},
{
"id": 4132,
"rank": 1
},
{
"id": 4133,
"rank": 1
},
{
"id": 4134,
"rank": 1
},
{
"id": 4232,
"rank": 1
},
{
"id": 4162,
"rank": 1
},
{
"id": 4131,
"rank": 1
}
],
"id": 34787722,
"name": "Stealthy Shit",
"current": false
},
{
"masteries": [
{
"id": 4212,
"rank": 2
},
{
"id": 4233,
"rank": 3
},
{
"id": 4242,
"rank": 1
},
{
"id": 4211,
"rank": 2
},
{
"id": 4243,
"rank": 1
},
{
"id": 4311,
"rank": 1
},
{
"id": 4322,
"rank": 3
},
{
"id": 4332,
"rank": 1
},
{
"id": 4251,
"rank": 1
},
{
"id": 4222,
"rank": 3
},
{
"id": 4221,
"rank": 1
},
{
"id": 4324,
"rank": 1
},
{
"id": 4262,
"rank": 1
},
{
"id": 4312,
"rank": 3
},
{
"id": 4241,
"rank": 3
},
{
"id": 4232,
"rank": 1
},
{
"id": 4234,
"rank": 2
}
],
"id": 34787723,
"name": "Tank Jungle",
"current": false
}
],
"summonerId": 23591778
}}
我的尝试:
for(int i = 0; i < mastery.length(); i++) {
JSONObject c = mastery.getJSONObject(i);
name[i] = c.getString(TAG_NAME);
curr = c.getString(TAG_CURRENT);
JSONArray masteryInfo = c.getJSONArray("masteries");
Log.d("Mastery Info", masteryInfo + ""); // Each Individual Page i
for(int x = 0; x < masteryInfo.length(); x++) {
JSONObject s = masteryInfo.getJSONObject(x);
String masteryId = s.getString("id");
JSONObject singleMastery = dataObject.getJSONObject(masteryId);
Log.d("Single Mastery", singleMastery + "");
try {
Log.d("For Loop X", x + ""); // 0 then error
Log.d("Single Mastery Name", singleMastery.getString("name"));
Log.d("For Loop I", i + ""); // 0
masteriesArray[i][x] = singleMastery.getString("name"); // Error here
Log.d("MasteriesArray[i][x]", masteriesArray[i][x]);
Log.d("I", i + "");
}
catch (JSONException e) {
e.printStackTrace();
masteriesArray[i][x] = "";
}
}
if(curr.equals("true"))
name[i] = name[i] + " [Active]";
masteryPageNames.add(name[i]);
}