JSON 配列からこのオブジェクトを解析したい:
{..."平均": 8.492619161922457352960767294、"シンボル": "mtgoxUSD"、"低": 8.391000000000}
JSONArray は動的であるため、配列内の 73 番目、74 番目、または 75 番目のオブジェクトである場合があり、配列内のどのオブジェクトにも名前がありません。現在、このコードを使用して解析しています。特定のオブジェクトが 75 番目の位置にある場合は問題なく動作しますが、そうでない場合はクラッシュします。
try {
JSONArray json = JSONfunctions2.getJSONfromURL("http://bitcoincharts.com/t/markets.json");
JSONObject forex = json.getJSONObject(75);
String btc = forex.getString("avg");
currencyBTC = Double.parseDouble(btc);
}catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
配列内のオブジェクトには名前がないため、属性によってオブジェクトを識別することは可能ですか? この問題を解決するにはどうすればよいですか? 前もって感謝します。
編集:
これは多少機能しますが、配列内の最後のオブジェクトからの値のみを返します。最後のオブジェクトだけでなく、特定のオブジェクトを解析できるようにするにはどうすればよいですか? ...
try {
JSONArray jArray = JSONfunctions2.getJSONfromURL("http://bitcoincharts.com/t/markets.json");
String symbol = "mtgoxUSD";
for (int i = 0; i < jArray.length(); i++) {
JSONObject forex = jArray.getJSONObject(i);
String mtgoxUSD = forex.getString("symbol");
if (mtgoxUSD == symbol) {
String btc = forex.getString("avg");
double currencyBTC = Double.parseDouble(btc);
}
}
} catch (Exception e) {
Log.e("log_tag", "Error parsing data "+ e.toString());
}