我想从url解析json并将json数据与listview一起使用。 我也想只列出得分和名字,但我不知道如何。感谢。
{
"level":[
{
"id":1,
"server":[
{"score":33,"name":"Car"},
{"score":72,"name":"Bus"},
]
}
]
}
答案 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
拥抱!