0

次のコードで上記のエラーを取得する

MainActivity.get("statuses/public_timeline.json", null,
            new JsonHttpResponseHandler() {
                public void onSuccess(JSONArray timeline) {
                    // Pull out the first event on the public timeline
                    JSONObject firstEvent = timeline.get(0);
                    String tweetText = firstEvent.getString("text");

                    // Do something with the response
                    System.out.println(tweetText);
                }
            });

上記のコードでは、timeline.get(0) がエラーを取得しています。

4

2 に答える 2

4

この行を置き換えます

 JSONObject firstEvent = timeline.get(0);

 JSONObject firstEvent = timeline.getJSONObject(0);

そしてそれは魅力のように機能します。JSONObjectまたは、マキシムが提案したようにキャストすることもできます。

 JSONObject firstEvent = (JSONObject)timeline.get(0);

また、null または JsonArray が実際にオブジェクトを保持しているかどうかの基本的なチェックを追加し、try catch も追加します。

于 2013-09-10T12:02:49.677 に答える
1

何をtimeline.get(0)返しますか?JSONObject または String を返しますか? あなたがすべきよりも文字列を返す場合JSONObject firstEvent = new JSONObject(timeline.get(0));

于 2013-09-10T12:02:25.710 に答える