android: Die Methode getJSONObject(int) im Typ JSONArray ist nicht anwendbar für die Argumente (String)
Ich finde nicht meinen Fehler. Eclipse mir sagen: Die Methode getJSONObject(int) im Typ JSONArray ist nicht anwendbar für die Argumente (String)
Ich will Zugriff: matchdata -> Ziele -> Ziel -> goal_getter_name
Die eclipse-Fehler ist in dieser Zeile: `JSONObject Ziel = openbuli.getJSONObject("Ziel");
Ich denke, dass die variable openbuli tritt falsch?!
Wie muss ich es beheben?
Hier ist mein Code:
String result = "";
SONObject jArray = null;
jArray = new JSONObject(result);
JSONObject json = (JSONObject) jArray;
JSONArray openbuli = json.getJSONArray("matchdata");
JSONObject goal = openbuli.getJSONObject("goal");
JSONArray goals = goal.getJSONArray("goals");
//loop array
for(int i=0;i<goals.length();i++) {
JSONObject e = goals.getJSONObject(i);
Log.e("Name", e.getString("goal_getter_name").toString());
}
Hier werden die json-Daten:
$json (
| matchdata => Array (9)
| (
| | ['0'] (
| | | league_saison = "2013"
| | | match_results (
| | | | match_result => Array (2)
| | | | (
| | | | | ['0'] (
| | | | | | result_name = "Endergebnis"
| | | | | | result_order_id = "1"
| | | | | | points_team1 = "3"
| | | | | | result_type_name = "nach 90 Minuten"
| | | | | | points_team2 = "1"
| | | | | | result_type_id = "2"
| | | | | )
| | | | )
| | | )
| | | goals (
| | | | goal => Array (4)
| | | | (
| | | | | ['0'] (
| | | | | | goal_match_minute = "16"
| | | | | | goal_getter_id = "5112"
| | | | | | goal_id = "21118"
| | | | | | goal_getter_name = "Mario Mandzukic"
| | | | | | goal_mach_id = "23711"
| | | | | | goal_penalty = FALSE
| | | | | | goal_score_team1 = "2"
| | | | | | goal_own_goal = FALSE
| | | | | | goal_score_team2 = "0"
| | | | | | goal_overtime = FALSE
| | | | | )
| | | | )
| | | )
| | )
- Sie können nicht dies tun
openbuli.getJSONObject("goal");
Sie haben zu geben, die Methode index des Arrays. Als Beispiel:openbuli.getJSONObject(1);
Du musst angemeldet sein, um einen Kommentar abzugeben.
müssen Sie ändern
openbuli.getJSONObject("goal");
zu openbuli.getJSONObject(0);und fügen Sie getJSONObject("Ziele"), um das Objekt Tore aus den ersten Platz im array