数据库是json格式的{"1":12,"2":15,"3":17}“1”“2”“3”代表的是等级,12,15,17代表的是人数,数据库有不同服务器,不同渠道都有这么一个json,现在我要查寻所有服务器,所有渠道,我怎么把他们加起来,默认把等级去除重复,把对应的人数相加我用的是也就是{"1":12,"2":15,"3":17}{"1":4,"2":5,"3":6}他们相加的结果是
{"1":16,"2":20,"3":23}
jfianl
public static void main(String[] args) {
String[] strs = {"{'1':12,'2':15,'3':17}","{'1':4,'2':5,'3':6}"};
Integer A = 0;
Integer B = 0;
Integer C = 0;
for (String str : strs) {
JSONObject jsonObject = JSONObject.fromObject(str);
A = (Integer)jsonObject.get("1")+A;
B = (Integer)jsonObject.get("2")+B;
C = (Integer)jsonObject.get("3")+C;
}
System.out.println("A="+A+";B="+B+";C="+C);
JSONObject newstr = new JSONObject();
newstr.put("1", A);
newstr.put("2", B);
newstr.put("3", C);
String result = (String)newstr.toString();
System.out.println(result);
}
利用json解析工具呀!
如果是后台处理,使用java的话,下个gson包,把json转成map,然后自己算。
如果是前台处理的话,直接用json对象运算就行了。
上面的哥们写了后台的,我写个前台的(应该是都会的吧)
$.ajax({
url:'???????????',
success:function(data){
var Json = eval(data);
var v1 =0;
var v2 =0;
var v3 =0;
for(var i = 0 ; i < Json.length ; i++){
v1 = v1 + Json[i].v1;
v2 = v2 + Json[i].v2;
v3 = v3 + Json[i].v3;
}
//到这里就完成了
});