9818


json解析の方法を教えて下さい。

サーバー側に以下のような固定のjsonデータがあります。

[code]

    [
    {"title":"タイトル01","content":"http:XXX0","image":"http:YYY0"}
    ,
    {"title":"タイトル02","content":"http:XXX1","image":"http:YYY1"}
    ,
    {"title":"タイトル03","content":"http:XXX3","image":"http:YYY3"}
    ,
    {"title":"タイトル04","content":"http:XXX4","image":"http:YYY4"}
    ,
    {"title":"タイトル05","content":"http:XXX5","image":"http:YYY5"}
    ,
    {"title":"タイトル06","content":"http:XXX6","image":"http:YYY6"}
    ,
    {"title":"タイトル07","content":"http:XXX7","image":"http:YYY7"}
    ]
    
[/code]

これを解析し、アプリ側でリスト表示に使用できるようにJSONArrayに格納したいのですが、うまく動作できておりません。

アドバイスをいただけければ幸いです。

詳細：  
<http://onthewaves.web.fc2.com/android/connection/com_json>.htmlを参考にさせて頂いております。  

[code]

    // dataオブジェクトの取得
    JSONArray dataArray = rootObject.getJSONArray("rank");
    
[/code]

において、上記のjsonには("rank")に対応する記載がないことからgetJSONArray("");で動作しないかなど、色々試したのですが動作しません。

jsonはHttpURLConnectionを使用し、

[code]

    resultIn = urlConnection.getInputStream();
    
[/code]

で取り込み、

[code]

    Log.v("getInputStream();", String.valueOf(resultIn));
    
[/code]

で内容を表示させることに成功しております。

しかし、

[code]

    JSONObject rootObject = new JSONObject(String.valueOf(resultIn));
    
[/code]

とすると、Logに

> org.json.JSONException: Value
> libcore.net.http.FixedLengthInputStream@420e8eb0 of type java.lang.String
> cannot be converted to JSONObject

と表示されます。

InputStreamで取得したデータをStringしてからJSONObjectに変換すれば、あとは、JSONObject→JSONArray→for文で１つずつ取り出すという流れと思っているのですが、理解不足のようです。  
アドバイスを頂けないでしょうか？  
よろしくお願いいたします。


CC BY-SA 3.0
2015-05-04T06:15:22.013
9811
2015-05-04T11:09:57.037
2015-05-04T10:41:41.407
49
8670
question
android json
Android json解析の方法を教えて下さい。


`JSONObject` は不要で `JSONArray` のコンストラクタに取得した文字列を渡せば OK かと思います。

[code]

    JSONArray jsarr = new JSONArray(String.valueOf(resultIn));
    for(int i = 0; i < jsarr.length(); i++){
       // do what you want
    }
    
[/code]


CC BY-SA 3.0
2015-05-04T11:09:57.037
9818
2015-05-04T11:09:57.037
2432
9811
answer