我正在开发一个应用程序,我正在使用以下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中显示该数据。
答案 0 :(得分:1)
答案 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)
}
}