java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Map的遍历以及转JsonArray存储

关于Map的遍历以及转JsonArray存储方式

作者:疯狂咕噜咚

在Java开发过程中,经常会遇到需要对复杂数据结构进行处理的情况,本案例以List<Map<String,Object>>为例,介绍了如何遍历该数据结构,并根据特定条件筛选出符合要求的元素,通过自定义一个Edit类来模拟形成一个新的Map对象,实现了数据的有序存储

Map的遍历以及转JsonArray存储

案例目的将List<Map<String,Object>> 遍历,按条件取得map里面符合要求的元素

将其有序的放到自定义的一个Edit类中,模拟形成一个新的Map对象:

public class Edit {
    private String key;
    private String value;
    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
public class Test {
    public List<Map<String,Object>> see() {
        Map<String, Object> map = new HashMap<>();
        map.put("wkx", "666");
        map.put("laq", "999");
        map.put("key", "datetime");
        map.put("value", "2000");
        Map<String, Object> map2 = new HashMap<>();
        map2.put("wkx2", "666");
        map2.put("laq2", "999");
        map2.put("key", "dateid");
        map2.put("value", "1000");
        List<Map<String, Object>> listmap = new LinkedList<>();
        listmap.add(map);
        listmap.add(map2);
        return listmap;
    }
    public static void main(String[] args) {
        Test a = new Test();
        List<Edit> edits=new LinkedList<>();
        List<List<Edit>> mapplus =new LinkedList<>();
        List list = a.see();
      for (int i=0;i<list.size();i++){
              Edit edit = new Edit();
              Map<String, Object> map = (Map) list.get(i);
              for (Map.Entry entry : map.entrySet()) {
                  if ("key".equals(entry.getKey())) {
                      edit.setKey((String)entry.getValue());
                  }
                  if ("value".equals(entry.getKey())) {
                      edit.setValue((String) entry.getValue());
                  }
              }
              if (edit.getKey()!=null&&edit.getValue()!=null) {
                  edits.add(edit);
            }
        }
        mapplus.add(edits);
        System.out.println(list.toString());
    }
}

将mapplus里面的内容全部存储到数据库中的一个字段中

 public String list2string(List<List<Edit>> list){
        //但我们得到一个全新的list<map>时,我们要把它里面所有的map(包括key和value都存到数据库中的一个字段中去)
        // 我们用到jsoAarray
        JSONArray jsonArray = new JSONArray();
        //逐渐遍历之前取得的mapplus
        list.forEach(n->{
            n.forEach(e -> {
                String key = e.getKey();
                String value = e.getValue();
            });
            jsonArray.add(n);
        });
        return JSONArray.toJSONString(jsonArray);
    }


//测试
       mapplus.add(edits);
       String ss = new SortByLetter().list2string(mapplus);
       System.out.println(ss);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文