问题描述
- json怎么转换成hashmap,转换以后如何与id进行判断。求大神指点!谢谢!!!急急急
-
我现在有一段json数据jsonArray json=JSONArray.fromObject(message); message的数据为[id,name,passwode,id,name,passwode,id,name,passwode……]
怎么把json的数据转换成hashmap以后与查询出的数据进行判断。
例如hashmap<u1,id><u2,id>…… 数据库的数据<id1,id2........> List<User> users = userMapper.selectAll(); for(int i = 0;i < users.size(); i ++){ if(这里该怎么写!=user.getid()){ userMapper.deleteByid(id); }
大神指点下,谢谢。
解决方案
遍历你的json数据,然后下面这样添加:
!!!!!注意,下面是用name作为key,而key是不能重复的,所以你一定要保证name没有重复的。
Map<String,String> maps = new HashMap<String,String>();
//遍历你的json数据.
maps.put(json里面的name,对应的那条json数据 );//也可以用其他数据作为key.
//添加完成.
可以用下面第一个方法去查找key
boolean containsKey(Object key)
如果此映射包含对于指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
public boolean findKey(String keys ){
return maps.containsKey(keys);//这一句也可以不单独写在方法里,但是用法是这样.
//当然也可以用containsValue去对比value,但是准确性可能不是很好.
}
解决方案二:
直接取map数据一一判断不是好了没
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
效率低,以后尽量少使用!
解决方案三:
可以先转换成实体类,再转换成map
时间: 2024-12-01 11:21:13