Json - 如何解析Android

时间:2017-06-11 02:59:34

标签: android json

我想从url解析json并将json数据与listview一起使用。 我也想只列出得分和名字,但我不知道如何。感谢。

{
  "level":[
    {
      "id":1,
      "server":[
        {"score":33,"name":"Car"},
        {"score":72,"name":"Bus"},
      ]
    }   
  ]
}

2 个答案:

答案 0 :(得分:1)

您知道如何检索数据吗? 检索数据后,解析它非常简单。要使用其属性获取每个项目,我将使用以下代码:

String responseFromUrl;
JSONObject JSONResponse = new JSONObject(responseFromURL);
JSONArray level = JSONResponse.getJSONArray("level");

//The following loop goes through each object in "level". This is nessecary if there are multiple objects in "level".
for(int i=0; i<level.length(); i++){
    JSONObject object = level.get(i);
    int id = object.getInteger("id");
    JSONArray server = object.getJSONArray("server");

    //This second loop gets the score and name for each object in "server"
    for(int j=0; j<server.length(); j++){
        JSONObject serverObject = server.get(i);
        int score = serverObject.getInteger("score");
        String name = serverObject.getString("name");
    }
}

显然取代&#34; responseFromUrl&#34;使用字符串格式的url的JSON响应。如果你不知道我为什么使用JSONObject,JSONArray,String,Integer等,或者只是对此感到困惑,Udacity有一个很好的方法来建立http连接和解析来自API的JSON响应。 Link to Udacity Course

答案 1 :(得分:0)

您可以使用gson库将json转换为java对象

下载最新的jar并导入到您的项目中,目前您可以通过以下链接下载最新的: https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.1/gson-2.8.1.jar

之后,这将有助于您: https://stackoverflow.com/a/23071080/4508758

拥抱!