您的位置:首页 > Web前端 > JavaScript

JSONArray 合并相同的数据

2016-03-29 10:33 2341 查看

        JSONObject obj = new JSONObject();
        JSONArray array = new JSONArray();

        StringBuffer sball = new StringBuffer();
        sball.append("SELECT* FROM T_GDCXXX  ");

        response.setCharacterEncoding("utf-8");
        JSONObject jsonObj = new JSONObject();
        SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sball.toString());

        while (rs.next()) {
            String Table_name = rs.getString("Table_name");
            StringBuffer sb = new StringBuffer();
            sb.append("SELECT count(*) num,GLDW FROM " + Table_name
                    + " GROUP BY GLDW");

            SqlRowSet rs1 = this.jdbcTemplate.queryForRowSet(sb.toString());
            while (rs1.next()) {
                String KEY = rs1.getString("KEY");
                String VALue = rs1.getString("VALUE");
                obj.put("KEY", KEY);
                obj.put("VALUE", VALUE);

                array.add(obj);
            }
        }
        String depid = null;
        HashMap<String, String> map = new HashMap<String, String>();
        JSONArray jarray = (JSONArray) JSONSerializer.toJSON(array);
        for (int i = 0; i < jarray.size(); i++) {
            JSONObject jobj = jarray.getJSONObject(i);
            if (!(jobj.has("KEY"))) {
                depid = "";
            } else {
                depid = jobj.getString("KEY");
            }
            String score = jobj.getString("VALue");
            String s1 = map.get(depid);
            if (null == s1) {
                map.put(depid, score);
            } else {
                int s = Integer.parseInt(s1);
                map.put(depid, score + s);
            }
        }

        JSONArray json = new JSONArray();
        JSONObject Nobj = new JSONObject();
        for (String key : map.keySet()) {
            System.out.println("key= " + key + " and value= " + map.get(key));
            Nobj.put("KEY", key);
            Nobj.put("num", map.get(key));
            json.add(Nobj);

        }

        this.sendJsonArray(response, json, jsonType);
   
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: