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);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论