2 回答

TA貢獻1880條經(jīng)驗 獲得超4個贊
代碼沒有進入循環(huán)的事實只是因為您JSONArray沒有命名的鍵,""但它包含了JSONObjects。JSON 中的對象和數(shù)組具有不同的注釋。請參閱:JSON 參考網(wǎng)站
所以你的代碼應該是:
jsonResultsObject = new JSONObject(result);
String onArrive, onReady, onFinished;
for (int i=0;i<jsonArray.length();i++){
JSONObject JO = jsonArray.getJSONObject(i);
onArrive = JO.getString("on_arrival_inst");
onReady = JO.getString("order_inst");
onFinished = JO.getString("finished_inst");
System.out.println(onArrive);
System.out.println(onReady);
System.out.println(onFinished);
}
并且還要確保您的代碼在try - catch要捕獲的塊內(nèi)JSONException

TA貢獻1866條經(jīng)驗 獲得超5個贊
你的結(jié)果是 JSONArray 而不是 JSONObject。這就是為什么您必須將其轉(zhuǎn)換為數(shù)組而不是對象的原因。
用
jsonResultsArray = new JSONArray(result);
代替
jsonResultsObject = new JSONObject(result);
完整的代碼將是
jsonResultsArray = new JSONArray(result);
int count = 0;
String onArrive, onReady, onFinished;
while (count<jsonResultsArray.length()){
JSONObject JO = jsonResultsArray.getJSONObject(count);
onArrive = JO.getString("on_arrival_inst");
onReady = JO.getString("order_inst");
onFinished = JO.getString("finished_inst");
System.out.println(onArrive);
System.out.println(onReady);
System.out.println(onFinished);
count++;
}
添加回答
舉報