如何在Android中从发送多维数组的服务器在列表视图中显示数据

如何在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

我正在编写一个原生Android应用程序,其中我使用PHP MYSQL使用get请求从服务器获取数据。 服务器向我发送结果的方式如下:

{
"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");
       }
    }