java对jsonarray去重复_java 去除jsonarray里面jsonarray的重复和合并数据
原来数据如下:
[{"index_id":"19557485","itemid":"70575","time":"1467619020","value":"1"},
{"index_id":"19557442","itemid":"113795","time":"1467619020","value":"1"},
{"index_id":"19557507","itemid":"114227","time":"1467619020","value":"1"},
{"index_id":"19557534","itemid":"114231","time":"1467619020","value":"1"},
{"index_id":"19557534","itemid":"114233","time":"1467619020","value":"1"},
{"index_id":"19557534","itemid":"114237","time":"1467619020","value":"1"},
{"index_id":"19557534","itemid":"114239","time":"1467619020","value":"1"},
{"index_id":"19557593","itemid":"114241","time":"1467619020","value":"1"},
{"index_id":"20118932","itemid":"115778","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"222222","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"333333","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"444444","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"555555","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"666666","time":"1467619020","value":"1"},
{"index_id":"11111111","itemid":"777777","time":"1467619020","value":"1"},
{"index_id":"19557534","itemid":"1145235","time":"1467619020","value":"1"}]
现在要求合并相同index_id的value值,其实array和list类似,如果遇到list也可用我的方法,新建一个新的arraytemp临时存储json
代码如下:
/**
* 去重复index_id项合并value值
* @param args
*/
public static JSONArray delRepeatIndexid(JSONArray array) {
JSONArray arrayTemp = new JSONArray();
int num = 0;
for(int i = 0;i < array.size();i++){
if(num==0){
arrayTemp.add(array.get(i));
}else{
int numJ = 0;
for(int j = 0;j < arrayTemp.size(); j++){
JSONObject newJsonObjectI = (JSONObject)array.get(i);
JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j);
String index_idI = newJsonObjectI.get("index_id").toString();
String valueI = newJsonObjectI.get("value").toString();
String timeI = newJsonObjectI.get("time").toString();
String itemidI = newJsonObjectI.get("itemid").toString();
String index_idJ = newJsonObjectJ.get("index_id").toString();
String valueJ = newJsonObjectJ.get("value").toString();
if(index_idI.equals(index_idJ)){
int newValue = Integer.parseInt(valueI) + Integer.parseInt(valueJ);
arrayTemp.remove(j);
JSONObject newObject = new JSONObject();
newObject.put("index_id", index_idI);
newObject.put("itemid", itemidI);
newObject.put("time", timeI);
newObject.put("value", newValue);
arrayTemp.add(newObject);
break;
}
numJ++;
}
if(numJ-1 == arrayTemp.size()-1){
arrayTemp.add(array.get(i));
}
}
num++;
}
return arrayTemp;
}
输出结果如下:
{"clientip":"10.50.129.11","hostname":"IQSH-D9396","index_gather":[{"hashkey":"","index_id":19557485,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":1},{"hashkey":"","index_id":19557442,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":1},{"hashkey":"","index_id":19557507,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":1},{"hashkey":"","index_id":19557593,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":1},{"hashkey":"","index_id":20118932,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":1},{"hashkey":"","index_id":11111111,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":6},{"hashkey":"","index_id":19557534,"msg_hashkey":"","sourcehost":"","time":1467617940,"type":0,"value":5}]}
java对jsonarray去重复_java 去除jsonarray里面jsonarray的重复和合并数据相关推荐
- java字符串去重复_java去除字符串中重复、不重复、消除重复后字符
java去除字符串中重复.不重复.消除重复后字符 import java.util.HashSet; import java.util.Set; public class Main { public ...
- java字符串去重复_java去除重复的字符串和移除不想要的字符串
在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...
- java 两个数组交叉_java – 如何交叉两个没有重复的排序整数数组?
这个问题本质上减少到一个连接操作,然后是一个过滤器操作(删除重复,只保留内部匹配). 由于输入都已经排序,所以可以通过O(O(size(a)size(b))的merge join来有效地实现连接. 过 ...
- c语言中删除有序数组中重复元素,去除有序列表中的重复元素
2014-10-27 09:13:00更新 你仔细研究一下我写的 testAsignPoint 和 testAsignPointAgain 函数就会明白为什么你的二级指针无效了. 还是那句话,你要记住 ...
- java excel 导入 加校验_Java 利用POI进行excel文件导入时校验数据,并且追加错误批注...
首先拿到前端file控件上传的excel文件,到后台接收!拿到excel这就不多说了网上很多demo的,下面直接说校验单元格追加批注信息的 private void setpz(Workbook wo ...
- 集合框架(去除ArrayList集合中的重复字符串元素案例2)
package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字 ...
- java怎么判断json是否为空_java判断jsonObject和jsonArray是否为空
resJsonObj = {"res":"0","msg":"","data":{"Nam ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- java线程不能重复_Java中多线程重复启动
标签: 在面试时候经常被问到多线程的相关问题: 今天在测试的时候发现下面的代码会抛出异常: java.lang.IllegalThreadStateException public static vo ...
最新文章
- 智源学术顾问David Harel:经典建模与AI的联姻,如何攻破机器学习的可解释性?| 大师讲座...
- CVE-2018-5711:PHP GD库拒绝服务漏洞
- Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏
- maven2中snapshot快照库和release发布库的应用
- Wireshark网卡抓包工具简明教程
- eclipse的workset项目重复显示解决方案
- 作者:李超(1988-),男,上海交通大学硕士生,主要研究方向为大数据网络。...
- android 9 patch
- Linux学习笔记---常用shell命令
- mysql语句判断是否存在记录,没有则插入新纪录否则不执行
- [转] C# mysql 事务回滚
- 50: 加密与解密 、 AIDE入侵检测系统 、 扫描与抓包 、 总结和答疑
- JSP程序设计实训(五)——JSP基本语法(一)
- 下载赚钱利器之千脑网盘WordPress插件
- 面向接口编程(面向协议编程)
- 实景化数字城市共享信息平台
- 10分钟入门Python,花5小时写了7个案例和这篇文章值得收藏
- Linguist for Mac(mac菜单栏语言翻译工具)
- 用AI「复活」逝者:「深度怀旧」项目火遍推特,我们也用民国老照片试了下 #蚂蚁呀嘿
- 拿起手术刀 深入剖解路由器的“心脏”技术