0

次のような JSON 配列があります。

[4、3、2、1、...]

これは単純な配列であり、この配列を解析する方法を教えてくれるチュートリアルが 1 つも見つかりません。次のように作成した文字列配列に各要素を割り当てたいとします。

String H[];

メソッドから値を返すときはいつも行き詰まり、混乱します。例: Oncreate() メソッド内で、すべての変数を初期化した後、次のように入力します。

solarData();
//displaying only one value from the String Array H[];
TextView.setText(H[0]);


public JSONArray solarData() throws JSONException{

//After getting response from HttpClient and getting result
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray,length();i++){
String H[i] = jArray.getJSONObject(i).toString();    
}
return jArray;
}

今、それは何を返していますか?文字列配列を返すようにします。これらの値を格納している文字列配列から必要な値を表示できるようにします。

4

1 に答える 1

1

JSONArrayのドキュメント から、有効な JSON 文字列を受け取り、すべての解析作業を行うコンストラクターがあることがわかります。あなたはすでにこれを特定しているようです。

ここでの問題は、for ループの各反復で、新しい String 配列を作成しようとしていることです。ループの前に配列を初期化し、初期化後にその内容を入力する必要があります。このようなものがうまくいくはずです:

public JSONArray solarData() throws JSONException{

  JSONArray jArray = new JSONArray(result);
  // consider renaming H to something meaningful (e.g. planetList)
  String H[] = new String[jArray.length()];
  for (int i=0; i < jArray,length() ;i++) {
    H[i] = jArray.getJSONObject(i).toString();    
  }
  return jArray;
}
于 2013-09-16T15:36:13.170 に答える