0

URLからjsonエントリを解析しようとしています。以下はコード部分です。

TextView txtViewParsedValue;
private JSONObject jsonObject;
private static String url = "https://www.dropbox.com/s/rhk01nqlyj5gixl/jsonparsing.txt?dl=1"; 
String strParsedValue = null;  
TextView txtViewParsedValue;
private JSONObject jsonObject;
private static String url = "https://www.dropbox.com/s/rhk01nqlyj5gixl/jsonparsing.txt?dl=1"; 
String strParsedValue = null;           

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtViewParsedValue = (TextView) findViewById(R.id.textview1);

    try {
        parseJSON();

    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public void parseJSON() throws JSONException
{       
    JSONParser jParser = new JSONParser();
    jsonObject = jParser.getJSONFromUrl(url);

    JSONObject object = jsonObject.getJSONObject("student");

    JSONArray subArray = object.getJS ONArray("student");

    for(int i=0; i<subArray.length(); i++)
    {
        strParsedValue+="\n"+subArray.getJSONObject(i).getString("id").toString();
    }

    txtViewParsedValue.setText(strParsedValue);
}

学生のすべてのIDを抽出してテキストビューに出力したい。ヌルポインタ例外を与えています。これに関連するいくつかの投稿を検索して試してみましたが、うまくいきませんでした。

4

2 に答える 2

3

studentJsonArray代わりですJsonObjectが、として取得しようとしていますJsonObject。解析コードを次のように変更します。

JSONArray subArray =jsonObject.getJSONArray("student");//<<< get student JSONArray
for(int i=0; i<subArray.length(); i++)
  {
   strParsedValue+=
        "\n"+subArray.getJSONObject(i).getString("id").toString();
 }
于 2013-03-21T04:45:38.773 に答える
0

JSONObject object = jsonObject.getJSONObject("student");あなたのJSON学生によると配列であるため、使用 しないでください。

に変更します

JSONArray subArray = jsonObject.getJSONArray("student");
于 2013-03-21T04:46:20.350 に答える