0

重複の可能性:
AndroidでのJSON解析

わかったので、AndroidでjsonをJavaオブジェクトに解析するにはGsonクラスを使用する必要があります。単純な変数や配列を解析するのは非常に簡単ですが、より複雑なjson文字列を解析する方法がわかりません。私のjsonは次のようになります。

{"selected_id":3, "data":[{"id":"3","score":"1534"},{"id":"1","score":"1234"}]}

誰かが私にこれを行う方法を手伝ってもらえますか?

4

3 に答える 3

1
      //Model class 

    class Model {

         private  String mId ;
          private   String mScore;

         public Model (String id , String score){

             mId = id ;
             mScore= score
         }


      //getter and setter 

    } 

//クラスで

    private ArrayLsit getLsit(String str){
      ArrayLsit<Model > list = new  ArrayLsit<Model>();

        // getting JSON string from URL
        JSONObject json = new JSONObject(str);

        try {
            // Getting Array of Contacts
            contacts = json.getJSONArray("data");

            // looping through All Contacts
            for(int i = 0; i < contacts.length(); i++){
                JSONObject c = contacts.getJSONObject(i);

                // Storing each json item in variable
                String id = c.getString("id");
                String score= c.getString("score");
                list.add(new Model(id ,score))

            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

   return list

 }
于 2012-06-25T09:35:29.893 に答える
0

コードをチェックしてください。

        Result = jsonObject.getString("data");

        jsonArray = new JSONArray(Result);
        for (int i = 0; i < jsonArray.length(); i++) {
            jsonObject = jsonArray.getJSONObject(i);
            try {
                jsonObject.getString("Id");

            } catch (Exception ex) {
                cafeandbarsList.add(null);
                ex.printStackTrace();
            }
        }

ありがとう

于 2012-06-25T09:37:20.437 に答える
0

jsonのクラスに作成します。

Gson gson = new Gson(); Jsondata jsonddata = gson.fromJson(response、Jsondata .class);

===== JsonData.jave

@SerializedName("selected_id")
public String sid;

    @SerializedName("data") 
public List<data> dalalist;

=== data.java

    @SerializedName("id")
public String id;

    @SerializedName("score")
public String score;
于 2012-06-25T09:51:35.313 に答える