原来数据如下:

[{"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的重复和合并数据相关推荐

  1. java字符串去重复_java去除字符串中重复、不重复、消除重复后字符

    java去除字符串中重复.不重复.消除重复后字符 import java.util.HashSet; import java.util.Set; public class Main { public ...

  2. java字符串去重复_java去除重复的字符串和移除不想要的字符串

    在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...

  3. java 两个数组交叉_java – 如何交叉两个没有重复的排序整数数组?

    这个问题本质上减少到一个连接操作,然后是一个过滤器操作(删除重复,只保留内部匹配). 由于输入都已经排序,所以可以通过O(O(size(a)size(b))的merge join来有效地实现连接. 过 ...

  4. c语言中删除有序数组中重复元素,去除有序列表中的重复元素

    2014-10-27 09:13:00更新 你仔细研究一下我写的 testAsignPoint 和 testAsignPointAgain 函数就会明白为什么你的二级指针无效了. 还是那句话,你要记住 ...

  5. java excel 导入 加校验_Java 利用POI进行excel文件导入时校验数据,并且追加错误批注...

    首先拿到前端file控件上传的excel文件,到后台接收!拿到excel这就不多说了网上很多demo的,下面直接说校验单元格追加批注信息的 private void setpz(Workbook wo ...

  6. 集合框架(去除ArrayList集合中的重复字符串元素案例2)

    package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字 ...

  7. java怎么判断json是否为空_java判断jsonObject和jsonArray是否为空

    resJsonObj = {"res":"0","msg":"","data":{"Nam ...

  8. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

  9. java线程不能重复_Java中多线程重复启动

    标签: 在面试时候经常被问到多线程的相关问题: 今天在测试的时候发现下面的代码会抛出异常: java.lang.IllegalThreadStateException public static vo ...

最新文章

  1. 智源学术顾问David Harel:经典建模与AI的联姻,如何攻破机器学习的可解释性?| 大师讲座...
  2. CVE-2018-5711:PHP GD库拒绝服务漏洞
  3. Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏
  4. maven2中snapshot快照库和release发布库的应用
  5. Wireshark网卡抓包工具简明教程
  6. eclipse的workset项目重复显示解决方案
  7. 作者:李超(1988-),男,上海交通大学硕士生,主要研究方向为大数据网络。...
  8. android 9 patch
  9. Linux学习笔记---常用shell命令
  10. mysql语句判断是否存在记录,没有则插入新纪录否则不执行
  11. [转] C# mysql 事务回滚
  12. 50: 加密与解密 、 AIDE入侵检测系统 、 扫描与抓包 、 总结和答疑
  13. JSP程序设计实训(五)——JSP基本语法(一)
  14. 下载赚钱利器之千脑网盘WordPress插件
  15. 面向接口编程(面向协议编程)
  16. 实景化数字城市共享信息平台
  17. 10分钟入门Python,花5小时写了7个案例和这篇文章值得收藏
  18. Linguist for Mac(mac菜单栏语言翻译工具)
  19. 用AI「复活」逝者:「深度怀旧」项目火遍推特,我们也用民国老照片试了下 #蚂蚁呀嘿
  20. 拿起手术刀 深入剖解路由器的“心脏”技术

热门文章

  1. Wi-Fi 协议和数率?
  2. 项目已被os x使用 不能打开-黑苹果之路
  3. MFC中的几个常用类——CFileDialog
  4. FreeMarker笔记 前言第1章 入门
  5. cocos2dx基础篇(2)——Win32移植到Android
  6. sohu读博——周忆清
  7. windows 端微信多开
  8. spring bean创建细节
  9. 二手交易平台html代码,二手物品交易HTML5模板
  10. java barrier_Java - Latch和Barrier的区别