原来数据如下:

[{"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. Step by Step Setup Git Server on Windows with CopSSH + msysGit and Integrate Git with Visual Studio
  2. linux 进程通信比较,浅析Linux进程通信的几种方式及其比较
  3. Java解析JSON文件
  4. 机试指南第二章-经典入门-查找例题自解
  5. 链栈,用链表写成的栈,源代码如下
  6. RPA目前在中国的发展怎么样?
  7. Html input file控件使用accept过滤 限制的文件类型
  8. c语言编程中的幂函数如何编写,c语言幂函数_C语言循环与递归实现整数幂函数...
  9. 2022年全球市场聚苯硫醚纤维总体规模、主要生产商、主要地区、产品和应用细分研究报告
  10. lol服务器稳定性补偿,lol游戏稳定性补偿皮肤领取
  11. WGS84 与 UTM 互转(Python代码版)
  12. redmine邮箱配置
  13. S2SH水费管理系统-JAVA【毕业设计、快速开发、源码、开题报告】
  14. 阿里巴巴食堂:看菜名我跪了~程序员:给我来个“油炸产品经理”
  15. PHP保留两位小数的三种方法
  16. iPhone4S国行、港版、美版、妖机识别与选购(转)
  17. linux怎么抓带vlan的包,如何抓取 带VLAN tag的包
  18. 【金猿产品展】齐治DSG数据库安全网关系统——统一的数据库操作管控平台
  19. java URL java.net.URL类的使用 详细介绍 URL转义 解决URL中文字符
  20. 伺服CAN总线设计(电工Demo)

热门文章

  1. VMware converte报错记录
  2. Hadoop开发第2期---虚拟机中搭建Linux
  3. asp.net 实现一级域名与二级域名共享COOKIE
  4. 16进制 ksh_AIX系统中如何统计进程打开的文件数目
  5. thrift介绍及应用(一)—介绍
  6. html 提交后跳转页面,html 提交后跳转页面
  7. react table里跳转页面_react路由配置基础篇:react-router4.0及以上
  8. 电脑卡顿不流畅是什么原因_什么造成游戏直播画画卡顿、延迟?这三个原因了解一下...
  9. php 情书,php趣味编程 - php输出笛卡尔情书的秘密
  10. java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法