首页 > 解决方案 > 如何以特定格式格式化数据

问题描述

我有一个这样的清单。

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。

但是我有成千上万的数据,使用循环需要太多时间。还有其他缩短格式化列表数据时间的好方法吗?

标签: java

解决方案


推荐阅读