如何阅读Json格式

时间:2013-03-10 08:30:51

标签: java android json

我是一名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":""
            }
    }
}  

3 个答案:

答案 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)

有许多图书馆可以帮助您完成JacksonGSON

等任务

答案 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