在.Net开发的过程中,经常遇见需要把先后获取的数据叠加在一起,而后台获取数据的方式一般是ajax获取json格式的数据,就需要创建一个全局的var变量,把先后获取的json都放在里面,表格或者图形生成时在for循环。代码如下:
var resultJsonObject;
//此方法是合并2个json
function mergejson(jsonbject1, jsonbject2) {
var str1 = '';
var str2 = '';
var str3 = '';
if (jsonbject1 != undefined) {
str1 = JSON.stringify(jsonbject1); //将JSON对象转化为JSON字符
}
if (str1 != undefined) {
str1 = str1.substr(1, str1.length - 2);
}
if (jsonbject2 != undefined) {
str2 = JSON.stringify(jsonbject2); //将JSON对象转化为JSON字符
}
if (str2 != undefined) {
str2 = str2.substr(1, str2.length - 2);
}
if ((str1 + str2) == undefined) {
str3 = '[]';
}
else if ((str1 + str2) == '') {
str3 = '[]';
}
else if (str1 == undefined) {
str3 = '[' + str2 + ']';
} else if (str1 == '') {
str3 = '[' + str2 + ']';
} else if (str2 == undefined) {
str3 = '[' + str1 + ']';
} else if (str2 == '') {
str3 = '[' + str1 + ']';
} else {
str3 = '[' + str1 + ',' + str2 + ']';
}
if (str3 != undefined) {
var obj = JSON.parse(str3); //由JSON字符串转换为JSON对象
return obj;
} else { return [{}]; }
}