我是一名Android应用程序程序员,现在正在研究JSON,我的格式为json,如下所示。我得到这样的格式表单服务器到我的Android程序但问题是无法在listview中显示结果。 可以为我提供阅读json格式的逻辑。
{
"1":
{
"sub1":{"marks":"10",
"maxmarks":"60",
"grade":"D"
},
"sub2":{"marks":"",
"maxmarks":"60",
"grade":""
}
},
"2":
{
"sub3":{"marks":"30",
"maxmarks":"60",
"grade":"B"
},
"sub4":{"marks":"",
"maxmarks":"60",
"grade":""
}
}
}
答案 0 :(得分:2)
在Android中使用JSONObject:http://developer.android.com/reference/org/json/JSONObject.html
这是一个很好的教程:http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/
例如:
JSONObject json = new JSONObject(<your json string>);
JSONObject objectOne = json.getJSONObject("1");
JSONObject subOne = objectOne.getJSONObject("sub1");
string marksOne = subOne.getString("marks");
string maxMarksOne = subOne.getString("maxmarks");
string gradeOne = subOne.getString("grade");
答案 1 :(得分:0)
答案 2 :(得分:0)
您想在ListView中显示哪些信息?这将有助于我们帮助您解析它。
对于初学者,您可以使用...
将数据与两个对象分开 //Assuming your original object is named responseObj
JSONObject obj1 = responseObj.getJSONObject("1");
JSONObject obj2 = responseObj.getJSONObject("2");
//Now to get each piece of data
JSONObject s1 = obj1.getJSONObject("sub1");
string marks1 = s1.getString("marks");
string maxMarks1 = s1.getString("maxmarks");
string grade1 = s1.getString("grade");
JSONObject s3 = obj2.getJSONObject("sub3");
string marks3 = s3.getString("marks");
string maxMarks3 = s3.getString("maxmarks");
string grade3 = s3.getString("grade");
从这里您可以获得所有数据,并可以将它们添加到TextView中的ListView