-1

重複の可能性:
Android/Java での JSON 配列の反復

次のJSONWeb Services Codeを使用しているアプリを開発しています。すべてが正常に機能しており、JSON 配列として応答を取得しています。JSON配列を文字列に変換する方法がわかりません。私が得ている応答は、次のパターンにあります..

Json レスポン

[
{
     "Id":101,
     "Movie":"xxxxx",
     "Available":
        [             
            {
              "date":"31-08-2012",
              "timings":
                  [
                   "10:15",
                   "10:30",
                   "10:40"
                   ]
            },
            {
                "date":"1-09-2012",
                "timings":
                    [
                     "10:15",
                     "10:30",
                     "10:40"
                     ]
            }
        ]
}
]

これは私が得ている応答です。Android で次の Json Response を文字列に変換する方法を教えてください。そのデータを Android ネイティブのリストビューに表示したいと思います。

4

2 に答える 2

1

リンクをチェック

サーバーと通信し、Json 形式で応答を取得する完全な例を示します。

このPHPではMySqlが使用されていますが、得られるjson応答はすべての言語で同じだと思います.

于 2012-09-10T10:32:48.463 に答える
0

このサンプルを見て、必要に応じて変換してください

ps: json 配列は [ で始まり ] で終わるものです。json オブジェクトは { で始まり } で終わります。したがって、あなたの場合、使用可能なのは json 配列であり、その 1 番目のオブジェクトには json 文字列の日付と別の json 配列のタイミングが含まれます。

JSONArray ja =jso.getJSONArray("Available");





            for (int i = 0; i < ja.length(); i++) {
                JSONObject jobj=ja.getJSONObject(i);
                xyz[i]=jobj.getString("date");
                abcd[i]=jobj.getJSONArray("timings").tostring;


            }


            }

編集:

    ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
   JSONParser jParser = new JSONParser(); 
   JSONArray json = jParser.getJSONFromUrl(url);
   try { for (int i=0; i< json.length(); i++) {
    JSONObject details = json.getJSONObject(i);
    String id = details.getString("Id");
    String name = details.getString("Name");
    HashMap<String, String> map = new HashMap<String, String>(); 
   map.put(TAG_ID, id); map.put(TAG_NAME, name);


    contactList.add(map)
    JSONArray ja=details.getJSONArray("Available");

        for (int i = 0; i < ja.length(); i++) {
            JSONObject jobj=ja.getJSONObject(i);
           String a =jobj.getString("date");
          String b   =jobj.getJSONArray("timings").tostring;
    HashMap<String, String> map2 = new HashMap<String, String>(); 
   map2.put("a", a); map2.put("b", b);
    contactList.add(map2)

        }

     }
于 2012-09-10T10:26:48.017 に答える