0

からデータを取得したいjason webservice

JSON応答は次のとおりです。

{"content":[{"id":"1","asset_id":"62","title":"sample page","alias":"","introtext":"","fulltext":"Some Contents"},{"id":"2","asset_id":"62","title":"sample page2","alias":"","introtext":"","fulltext":"Some Contents"},{"id":"3","asset_id":"62","title":"sample page3","alias":"","introtext":"","fulltext":"Some Contents"}]}

ここを訪れた後 、私はこのようにしました:

private void parseData() {
    // Creating JSON Parser instance
    JSONParser jParser = new JSONParser();

    // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(BASE_URL);

    try {
        // Getting Array of Contents
        contents = json.getJSONArray(TAG_CONTENTS);

        // looping through All Contents
        for(int i = 0; i < contents.length(); i++){
            JSONObject c = contents.getJSONObject(i);

            // Storing each json item in variable
            id = c.getString(TAG_ID);
            title = c.getString(TAG_TITLE);      
        }

        textView.setText(id + " " + title);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

id=3とtitle= sample page3resultを取得しました。最初の2つの値も取得するにはどうすればよいですか?

4

3 に答える 3

1

アーシェイ!! この一人を試してみてください!

private void parseData() {
    // Creating JSON Parser instance
    MyJSONParser jParser = new MyJSONParser();

    // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(BASE_URL);

    try {
        // Getting Array of Contents
        jsonArrar = json.getJSONArray(TAG_CONTENTS);
        List list = new ArrayList<String>();
        // looping through All Contents
        for(int i = 0; i < jsonArrar.length(); i++){
           // JSONObject c = jsonArrar.getJSONObject(i);


            String id1=jsonArrar.getJSONObject(i).getString(TAG_ID);                
            String title=jsonArrar.getJSONObject(i).getString(TAG_TITLE);               
            String fullText=jsonArrar.getJSONObject(i).getString(TAG_FULL_TEXT);                

            list.add(id1);
            list.add(title);
            list.add(fullText);
        }

        Iterator<String> iterator = list.iterator();
        StringBuilder builder = new StringBuilder();
        while (iterator.hasNext()) {
            String string = iterator.next();                
            builder.append(string+"\n");

        }

        textView.setText(builder);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
于 2013-03-03T20:29:08.333 に答える
0

あなたの行はそうではJSONObjectありませんJSONArray

次のように使用する必要があります。

JSONObject jso = new JSONObject(line);
JSONArray jsa = new JSONArray(jso.getJSONArray("content"));
于 2013-03-03T08:50:48.297 に答える
0

このようなものを試してください

// jsonData:応答

List <String> contents = new ArrayList <String>();

String [] val;

            try {


        JSONObject jsonObj = new JSONObject(jsonData);
        if (jsonObj.get(JSON_ROOT_KEY) instanceof JSONArray) {

            JSONArray array = jsonObj.optJSONArray(JSON_ROOT_KEY);
            for (int loop = 0; loop < array.length(); loop++) {
val = new String[loop];
JSONObject Jsonval = array.getJSONObject(loop);
val.Jsonval.getString(TAG_ID);
val.Jsonval.getString(asset_id);

。。等

contents.add(val);

}
}

}

于 2013-03-03T12:26:35.230 に答える