json怎么转换成hashmap,转换以后如何与id进行判断。求大神指点!谢谢!!!急急急

问题描述

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

json怎么转换成hashmap,转换以后如何与id进行判断。求大神指点!谢谢!!!急急急的相关文章

c/c++-tc怎么转换成vc++.6.0,求大神指点一二

问题描述 tc怎么转换成vc++.6.0,求大神指点一二 我看的一本c编写的项目书,但用的是tc编写,可我电脑安装的是vc++6.0,一些都文件比如dos.h没有,就无法实现功能.且又安装不了tc.怎么办?有谁能解决我的问题吗,谢谢 解决方案 这么说吧,各个编译器还有它自己特有的函数库,这些函数有些是由操作系统相应的函数封装起来的.比如TC的图形函数库,不属于C标准函数库,VC上就没有,比如你说的dos.h,在VC6.0里面肯定是不能用的,当然TC能用的函数,在VC6.0里面也应该有相对应的函数

c语言-C++代码改成C语言代码,没学过C++好多看不懂啊(泪奔······)求大神指点,我用的VC6.0

问题描述 C++代码改成C语言代码,没学过C++好多看不懂啊(泪奔······)求大神指点,我用的VC6.0 代码如下, #include "winsock2.h" #include "Winsnmp.h" #include 这里是string以下都要用 < 和 > 括起来(不知为何不显示=,=) #include vector #include algorithm #include iostream #pragma comment(lib,"

代码-java实现数字替换成*,求大神指点

问题描述 java实现数字替换成*,求大神指点 我现在要实现150****8558,这样的样式,我是新手,还请大神指点,最好是贴上代码.谢谢! 解决方案 /** * 对一个字符串,指定字符"段"替换成对应的字符 * @param resStr 字符串 * @param begin 开始 * @param end 结束 * @param replaceStr 替换字符 * @return */ private static String strReplace(String resStr,

socket通讯的ip地址应该写成怎样才能实现不同局域网之间的通讯呢~~求大神指点

问题描述 在客户端我用了这样的语句Socketsocket=newSocket("192.168.1.105",6000);但是这个ip地址似乎只能实现同一个局域网内的通讯,或者同一台计算机自己通讯如果我想实现两个在不同局域网内的计算机的通讯该怎么办呢~~急需大神帮助~~ 解决方案 解决方案二:与程序如何写无关.关键是你网络怎么搭.最简单的,把三个局域网拼成一个局域网,把几个小路由器全换成桥接模式.还在么,三个局域网上面再接一个大路由,把局域网的路由器上的NAT给去掉,放在大路由器上做

把一个activity改成Fragment,遇到了错误,求大神指导!!

问题描述 把一个activity改成Fragment,遇到了错误,求大神指导!! public void finish() { // TODO Auto-generated method stub super.finish(); queue.removeLast(); } 其中的finish有错误,求大神指点 解决方案 fragment有finish方法吗,你估计想调用getActivity().finish()吧 解决方案二: 粘个完整的代码出来,,, 解决方案三: package com.e

数据库-怎么把MySql数据转换成Mongodb数据,跪求大神解答

问题描述 怎么把MySql数据转换成Mongodb数据,跪求大神解答 现在要做全国4级联动,想用Ajax做,但数据量太大.好不容易把数据导成sql的了, 但是数据库要用mongodb,不知道怎么弄了,求大神指点 解决方案 写个程序,jdbc从mysql把数据读出来,组装成想要的格式,再insert到mongodb中. 解决方案二: 对mongodb不熟悉.但是刚刚略微看了下是非关系型的数据库.在做持久操作的时候不用写sql直接操作方法即可. 那么我目前想到的思路是: 1.写个程序来检索你的mys

安卓小白 求大神解析json 求代码

问题描述 安卓小白 求大神解析json 求代码 { "date": "20140617", "stories": [ { "title": "千万不要干傻事", "ga_prefix": "09", "images": [ "http://www.baidu.com/img/baidu_sylogo1.gif" ], "

sql语句转换成hql求大神解决

问题描述 sql语句转换成hql求大神解决 具体sql语句如下,变成hql语句,请高手知道一下.select * from plan_run r where r.id in(select t.plan_run_waishi_user_id from PLAN_RUN_OA_USER t where t.oa_user_id= ?) 解决方案 from 实体类1 p where p.id in ( select i.id from 实体类2 i where i.useId = ? )注意hql里面

bug-String转换成可变参数的BUG,求大神帮忙解决一下,实在不知道如何解决。

问题描述 String转换成可变参数的BUG,求大神帮忙解决一下,实在不知道如何解决. java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[] at android.util.ArrayMap.allocArrays(ArrayMap.java:171) at android.util.ArrayMap.put(ArrayMap.java:444) at android.os.Bund