我想從一個JSON陣列解析這個對象:我如何通過Handler解析JSONObject屬性的動態JSONArray?
{... 「平均」: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());
}
打出來的'「mtgoxUSD」'如果'if'語句來'String'像我有它。我相信那就是錯誤的地方。但看着它,我看不出它是如何給你描述的結果...... – jnthnjns 2012-07-26 02:24:50
我想也許我可以以某種方式解析一切都變成一個ArrayList,然後從ArrayList中 – 2012-07-26 03:00:29
對不起,我看了你的最後一個註釋錯誤得到它,當然你可以解析一個'ArrayList',只需在'for'循環外部設置Array,然後使用'add'將值添加到List內部。我以爲你只想要一個價值。你原來的問題得到了回答。 – jnthnjns 2012-07-26 12:24:42