最近做一个项目解析后台的数据,不知道明确的key,而要获取这些键值。JSON格式如下:
columns: {
nb_uniq_visitors: "访客数",
nb_visits: "访问次数",
nb_actions: "活动次数",
nb_actions_per_visit: "平均活动次数",
bounce_rate: "跳出率",
avg_time_on_site: "平均停留时间 (秒)",
max_actions: "单次访问的最大活动量"
},
reportData: {
星期四 2013 十月 10: {
max_actions: 16,
nb_actions: 108,
nb_uniq_visitors: 28,
nb_visits: 31,
bounce_rate: "35%",
nb_actions_per_visit: 3.5,
avg_time_on_site: "00:01:59"
}
},
如上面的数据格式,我不知道columns里面有哪些key,那么你怎么去获取columns里的数据呢?
可以是有遍历的方法Iterator,具体代码:
JSONObject columnObj = response
.optJSONObject("columns");
if (columnObj != null) {
Iterator<String> iters = columnObj.keys();
while (iters.hasNext()) {
String key = (String) iters.next();
columnObj.optJSONObject(key);
if (columnObj.optString(key) != null) {
mColumns.add(columnObj.optString(key));
}
}
columnAdapter.notifyDataSetChanged();
Log.i("info", String.valueOf(mColumns.size()));
}