Android/Java中的JSON数组迭代我正在构建一个Android应用程序,它需要下载并与在线数据库同步,我将查询从应用程序发送到php页面,该页面以JSON格式从数据库中返回相关行。有人能告诉我遍历JSON数组的最佳方法吗?我收到一个对象数组:[{json object},{json object},{json object}]我可以用来访问数组中的JSONObjects的最简单的代码是什么?编辑:现在我想到它,我用来迭代循环的方法是:for (String row: json){
id = row.getInt("id");
name = row.getString("name");
password = row.getString("password");}因此,我想我已经能够以某种方式将返回的JSON转换成可迭代的数组。有什么办法让我做到这一点吗?我为我的道歉,但我在网上找到了一个例子,后来一直找不到它。
3 回答
![?](http://img1.sycdn.imooc.com/5458655200013d9802200220-100-100.jpg)
慕慕森
TA贡献1856条经验 获得超17个赞
1.)绘制地图
HashMap<String, String> applicationSettings = new HashMap<String,String>(); for(int i=0; i<settings.length(); i++){ String value = settings.getJSONObject(i).getString("value"); String name = settings.getJSONObject(i).getString("name"); applicationSettings.put(name, value); }
2.)创建一个名称的JSONArray
JSONArray names = json.names(); JSONArray values = json.toJSONArray(names); for(int i=0; i<values.length(); i++){ if (names.getString(i).equals("description")){ setDescription(values.getString(i)); } else if (names.getString(i).equals("expiryDate")){ String dateString = values.getString(i); setExpiryDate(stringToDateHelper(dateString)); } else if (names.getString(i).equals("id")){ setId(values.getLong(i)); } else if (names.getString(i).equals("offerCode")){ setOfferCode(values.getString(i)); } else if (names.getString(i).equals("startDate")){ String dateString = values.getString(i); setStartDate(stringToDateHelper(dateString)); } else if (names.getString(i).equals("title")){ setTitle(values.getString(i)); } }
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
MM们
TA贡献1886条经验 获得超2个赞
int id;String name;JSONArray array = new JSONArray(string_of_json_array);for (int i = 0; i < array.length(); i++) { JSONObject row = array.getJSONObject(i); id = row.getInt("id"); name = row.getString("name");}
添加回答
举报
0/150
提交
取消