如何在Android中将JSON响应转换为字符串?

时间:2012-09-10 10:24:13

标签: java android json web-services arrays

  

可能重复:
  JSON Array iteration in Android/Java

我正在开发一个应用程序,我正在使用以下JSONWeb Services Code。一切都很好,并获得响应作为JSON数组。我不知道如何将JSON数组转换为字符串。我得到的回应是以下模式..

Json Respone

[
{
     "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"
                     ]
            }
        ]
}
]

这是我得到的回应。任何人都可以建议我如何将以下Json Response转换为android中的字符串,我想在android native中的listview中显示该数据。

2 个答案:

答案 0 :(得分:1)

检查link

它显示了与服务器通信并以Json格式获取响应的完整示例。

虽然在这个PHP中使用了MySql,但我猜你得到的json响应对于所有语言都是一样的。

答案 1 :(得分:0)

查看此示例并根据您的需要进行转换

ps:json数组是以[以[结尾]开头的数组 一个json对象以{开头}结束,所以在你的情况下可用的是一个json数组,它的第一个对象包含一个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)

        }

     }