如何在Android中从发送多维数组的服务器在列表视图中显示数据
我正在编写一个原生Android应用程序,其中我使用PHP MYSQL使用get请求从服务器获取数据。 服务器向我发送结果的方式如下:如何在Android中从发送多维数组的服务器在列表视图中显示数据,android,mysql,arrays,listview,multidimensional-array,Android,Mysql,Arrays,Listview,Multidimensional Array,我正在编写一个原生Android应用程序,其中我使用PHP MYSQL使用get请求从服务器获取数据。 服务器向我发送结果的方式如下: { "result": true, "error_message": "", "response": [ { "total_tasks": 8, "tasks": [ { "id": 8, "name": "Hello Christin
{
"result": true,
"error_message": "",
"response": [
{
"total_tasks": 8,
"tasks": [
{
"id": 8,
"name": "Hello Christine, call Mr. Dejan Mandic"
},
{
"id": 7,
"name": "Hello Christine, call Ms. Charente Douglas-Smith"
},
{
"id": 6,
"name": "Hello Christine, call Mrs. Alison Marshall"
},
{
"id": 5,
"name": "Hello Christine, call Mrs. Muna Crisp"
},
{
"id": 4,
"name": "Hello Christine, call Mr. Victor Crisp"
},
{
"id": 3,
"name": "Hello Christine, call Mrs. Kathy Dunn"
},
{
"id": 2,
"name": "Hello Christine, call Mr. Peter Dunn"
},
{
"id": 1,
"name": "Hello Christine, call Ms. Vanessa Allen"
}
]
}
]
}
我需要在android的列表视图中显示数组“respones”->“tasks”(即id和名称)中的数据,最终当用户单击ListView中的特定行时,有关该任务的信息将显示在另一个使用id的活动中。当服务器以多维数组发送数据时,我在获取ListView中的数据时遇到问题。
如果有人能帮助我,那将是一个很大的帮助。
谢谢:)JSONObject responseObject=newjsonobject(responseString);
boolean resultSuccess=responseObject.getBoolean(“结果”);
如果(结果成功){
JSONArray responseArray=responseObject.getJSONArray(“响应”);
JSONObject firstResponse=responseArray.getJSONObject(0);
JSONArray tasks=firstResponse.getJSONArray(“tasks”);
对于(int i=0;i
您只需要浏览该树来解析json,尽管我对您的json树有一些评论
是的,它对我完全有效。。刚刚更改了responseArray.getJSONObject(i)…:)
JSONObject responseObject = new JSONObject(responseString);
boolean resultSuccess = responseObject.getBoolean("result");
if(resultSuccess) {
JSONArray responseArray = responseObject.getJSONArray("response");
JSONObject firstResponse = responseArray.getJSONObject(0);
JSONArray tasks = firstResponse.getJSONArray("tasks");
for(int i = 0; i < tasks.length(); i++){
JSONObject task = tasks.getJSONObject(i);
int id = task.getInt("id");
String name= task.getString("name");
}
}