-2

Android アプリケーション プログラマーであり、現在 JSON に取り組んでいます。以下に示すように、json の形式があります。このような形式のフォーム サーバーを Android プログラムに取得していますが、リストビューに結果を表示できないという問題があります。その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":""
            }
    }
}  
4

3 に答える 3

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");
于 2013-03-10T08:37:48.043 に答える
0

JacksonGSONなどのタスクに役立つライブラリが多数あります

于 2013-03-10T08:35:05.337 に答える
0

ListView に表示しようとしている情報は何ですか? それはあなたがそれを解析するのを助けるのに役立ちます.

まず、次を使用して 2 つのオブジェクトからデータを分離できます...

    //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 に追加できます。

于 2013-03-10T08:49:43.937 に答える