我有很多巡回赛。我正在尝试使用更新程序,我正在使用从网址返回此内容的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中获取数据。我不想使用和“第三方”解析器。谢谢。此外,我被困在这一部分:
我知道我需要循环一个数组,但没有主数组,除非它是“”。 ?这让我很困惑。我如何从网址解析这个JSON?
我看到有人这样做了,但是如果我的JSON中有人会这么做的话吗? Parsing JSON Object in Java
答案 0 :(得分:0)
在这种情况下,您的数据是一个对象数组,可以存储到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);
}