今天,我正在尝试针对android developer documentation优化我的JSONArray。我应该对其进行优化,但是会出现错误消息。

JSONArray infojson = json.getJSONArray("getInfo");
for(int i=0;i < infojson.length();i++){
    JSONObject e = infojson.getJSONObject(i);
    hm = new HashMap<String, Object>();
    hm.put(MYNAME, e.getString("uname"));
    hm.put(MYAGE, e.getString("uage"));
}

而且我已经优化了上面的编码,如下所示
JSONArray infojson = jsonObject.getJSONArray("getInfo");
for (Object o : infojson ) {
    JSONObject jsonLineItem = (JSONObject) o;
    String myname = jsonLineItem.getString("uname");
    String myage = jsonLineItem.getString("uage");
}

不幸的是,我在“infojson){” 上收到了以下错误消息

只能在java.lang的数组或实例上进行迭代。

最佳答案

您不能将JSONArray与that语法一起使用,因为它没有实现Iterable接口(interface)。附带说明一下,由于从WebService返回的JSON结果通常大小不大,因此您获得的微性能改进可能不会影响您的应用程序性能。

10-07 22:57