2 回答
TA贡献1880条经验 获得超4个赞
代码没有进入循环的事实只是因为您JSONArray没有命名的键,""但它包含了JSONObjects。JSON 中的对象和数组具有不同的注释。请参阅:JSON 参考网站
所以你的代码应该是:
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要捕获的块内JSONException
TA贡献1866条经验 获得超5个赞
你的结果是 JSONArray 而不是 JSONObject。这就是为什么您必须将其转换为数组而不是对象的原因。
用
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++;
}
添加回答
举报