map的遍历以及转jsonarray存储
案例目的将list<map<string,object>> 遍历,按条件取得map里面符合要求的元素
将其有序的放到自定义的一个edit类中,模拟形成一个新的map对象:
- edit类:
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);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论