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);
     }

大神指点下,谢谢。

3个回答

遍历你的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);
  }
  效率低,以后尽量少使用!

baidu_27432593
baidu_27432593 就是不知道key和value怎么放入map,不用map那怎么把json的数据与id进行判断?
大约 5 年之前 回复
Evankaka
Evankaka 回复baidu_27432593: 那要先把json转成成string数组,然后再一个一个的分割出来,以key和value放入map?不过,你这里好像只需要用到id,可以不用map吧
大约 5 年之前 回复
baidu_27432593
baidu_27432593 不知道怎么用,能详细一点吗?不太懂,没怎么用过map。
大约 5 年之前 回复
baidu_27432593
baidu_27432593 问题是传过来的数据是json格式
大约 5 年之前 回复

可以先转换成实体类,再转换成map

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问