我有一个这样的列表。
ArrayList<HashMap<String, String>> dataList = [{name=John, age=30}, {name=Alex, age=25}]
,我想像这样形成JSON。
[{"header":"name", "value":"John", "idx":"0"}, {"header":"age", "value":"30", "idx":"0"}, {"header":"name", "value":"Alex", "idx":"1"}, {"header":"age", "value":"25", "idx":"1"}]
这就是我试图形成数据的方式。
int cnt = 0;
ArrayList<HashMap<String, String>> returnList = new ArrayList<HashMap<String, String>>();
for(HashMap<String, String> map: dataList) {
Iterator i = map.keySet().iterator();
while(i.hasNext()) {
Object key = i.next();
HashMap returnMap = new HashMap();
returnMap.put("header", key);
returnMap.put("value", map.get(key));
returnMap.put("idx", cnt);
returnList.add(returnMap);
}
cnt++;
}
然后我将列表转换为JSON。
但是我有大量的数据,使用循环需要太多时间。 还有其他什么好方法可以缩短格式化列表数据的时间吗?