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);
InformationsquelleAutor sarahsdev | 2013-08-20
Schreibe einen Kommentar