fastjson与Map、List结合使用
来源:互联网 发布:武汉淘宝摄影师招聘 编辑:程序博客网 时间:2024/05/23 13:48
这个例子是我昨天开发时遇到的,主要的思路是:
1,、前端给我传一个字符串,这个字符串包含id和name两个属性;
2、我将String装换为JSON字符串,并且去除id;
3、根据取出的id到数据库中取数据,取出的字段为id、name、address;
4、匹配数据库中取出的数据,原则为:若数据库中取到该id,该条数据不动;若数据库中没有取到该id所对应的的数据,用原来传来的id对于的值。
5、将获取整合后的数据,并返回。
以下程序是我依据思路整合的小例子,主要的操作都是Map和List的使用,以及其与fastjson的转换。
注:导入包是fastjson-1.2.3-1.2.3.jar
<span style="font-size:18px;">public static void main(String[] args) {//原始List<Map<String, String>>格式字符串String companyIdList ="[{'id':1111,'companyName':'阿里巴巴'},{'id':2222,'companyName':'百度'},{'id':3333,'companyName':'腾讯'}]";JSONArray jsonArray = JSON.parseArray(companyIdList);List<String> idList = new ArrayList<String>();List<String> nameList = new ArrayList<String>();Map<String, String> idAndName = new HashMap<String,String>();for(Object object : jsonArray){@SuppressWarnings("unchecked")Map<String , Object> map = JSONObject.parseObject(object.toString() , Map.class) ;idList.add(map.get("id").toString());nameList.add(map.get("companyName").toString());idAndName.put(map.get("id").toString() , map.get("companyName").toString());}System.out.println("原始数据:");System.out.println(companyIdList);//经过一段数据库处理后,根据companyId去数据库取数据之后得到的数据String dataBase ="[{'id':1111,'companyName':'阿里巴巴','address':'杭州'},{'id':2222,'companyName':'百度','address':'背景'}]";JSONArray jsonArray1 = JSON.parseArray(dataBase);List<String> id = new ArrayList<String>();List<String> name = new ArrayList<String>();List<String> address = new ArrayList<String>();List<Map<String, String>> listHashMap = new ArrayList<Map<String, String>>();int i =0 ;for(Object object : jsonArray1){@SuppressWarnings("unchecked")Map<String , Object> map = JSONObject.parseObject(object.toString() , Map.class) ;id.add(map.get("id").toString());name.add(map.get("companyName").toString());address.add(map.get("address").toString());Map<String , String> m = new HashMap<String , String>() ;listHashMap.add(m);m.put("id", id.get(i));m.put("companyName", name.get(i));m.put("address", address.get(i));i++;}System.out.println("数据库取出的数据:");System.out.println(dataBase);//现在要将companyIdList所有公司都匹配到dataBase中,使得数据库中没有查到的公司在最终数据中也有id和companyName属性Set<String> ids = new HashSet<String>() ; for(Map<String, String> e : listHashMap){ ids.add(e.get("id")) ; } for(String cd : idList){ if(! ids.contains(cd)){ Map<String , String> m = new HashMap<String , String>() ; listHashMap.add( m ) ; m.put("id", cd) ; m.put("companyName", idAndName.get(cd)) ; } } System.out.println("目标数据:"); System.out.println(listHashMap);}</span>
1 0
- fastjson与Map、List结合使用
- fastjson中JSON语句与map转换(结合List与JSONObject)
- fastjson 解析map、list
- JSON 和 List、Map集合结合使用
- 使用 fastjson将字符串转为 list<map<string,object>>
- map与结构体结合使用
- 关于Map集合与List集合的结合
- gsp进行遍历map与list的结合
- Map与List结合而成的强大的数据结构
- fastjson中Map与JSONObject互换,List与JOSNArray互换的实现
- fastjson中Map与JSONObject互换,List与JOSNArray互换的实现
- fastjson中Map与JSONObject互换,List与JOSNArray互换的实现
- Map,List,Json(fastJson)试验
- fastJson json字符串转List以及Map
- C#Linq语句与List结合使用
- fastJSON List对象 Map对象与JSON对象的互转
- 使用fastjson的parseObject方法将json字符串转换成Map 或者List
- 使用fastjson对Map或List实现快速Json格式转换
- 项目1-c/c++语言中函数参数传递的三种方式
- HTML DOM innerHTML 属性
- SharedPreferences的存储位置和格式
- compress_ezvizlife_subsribe_static.sh
- 项目1- C/C++语言中函数参数传递的三种方式
- fastjson与Map、List结合使用
- mysql日志文件在哪 如何修改MySQL日志文件位置
- 深入探讨 java.lang.ref 包
- Android studio jni 入门helloworld
- 为DataGrid添加自动编号功能
- ffmpeg将图片序列转为视频
- Android 电话系统框架介绍
- 如何用Swift制作一个简单的画板APP
- leetcode Candy