0

我对此感到很困惑。我正在尝试使用更新程序,并且我正在使用从 url 返回的 api。:JSON

[
   {
      "downloadUrl":"URL",
      "fileName":"Name",
      "gameVersion":"Version",
      "name":"Name",
      "projectId":ID,
      "releaseType":"beta"
   },
   {
      "downloadUrl":"URL",
      "fileName":"Name",
      "gameVersion":"Version",
      "name":"Name",
      "projectId":ID,
      "releaseType":"beta"
   }
]

如何从 URL 返回的 JSON 中获取数据。我不想使用“第 3 方”解析器。谢谢。另外,我被困在这部分:

我知道我需要循环一个数组,但是没有主数组,除非它是“”。? 这就是让我感到困惑的地方。如何从 url 解析这个 JSON?

我看到有人这样做,但我知道这是否会在我的 JSON 中起作用? 在 Java 中解析 JSON 对象

4

1 回答 1

1

在这种情况下,您的数据是一个对象数组,可以存储到 HashMap 对象中。因此,我们将检索数组中的每个对象并将它们添加到每个 HashMap 中。HashMap 通过使用键插入值来工作,即HashMap<key type,value type>. 要使用键存储值,您可以使用HashMap.put(key,value)例如,map.put("downloadUrl", "URL")

// Remove the spacings yourself before trying the code
JSONArray array = new JSONArray("[
   {
      "downloadUrl":"URL",
      "fileName":"Name",
      "gameVersion":"Version",
      "name":"Name",
      "projectId":ID,
      "releaseType":"beta"
   },
   {
      "downloadUrl":"URL",
      "fileName":"Name",
      "gameVersion":"Version",
      "name":"Name",
      "projectId":ID,
      "releaseType":"beta"
   }
]");

List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>();
for(int i = 0 ; i < array.length() ; i++){
    HashMap<String,String> ht = new HashMap<String,String>();
    JSONObject o = json.getJSONObject(i);
    map.put("downloadUrl",o.getString("downloadUrl");
    map.put("fileName",o.getString("fileName");
    map.put("gameVersion",o.getString("gameVersion");
    map.put("name",o.getString("Name"));
    map.put("projectId",o.getString("projectId");
    map.put("releaseType",o.getString("releaseType");
    list.add(map);
}
于 2013-10-20T23:54:33.517 回答