比较两个json数据对象的异同(javascript)
试用范围:未知json数据对象类型、未知json的数据结构的前提下,比较两个json对象的异同,
效果:传入两个json对象,将相同部分去除,留下不相同的部分,用于对比。
这个是前台javascript进行处理,后台.NET的在研究中。
//created by isenhome.zhang in 2013/01/23 15:13 var AdchinaJson = {}; AdchinaJson.Getdifferent = function (json1, json2) { for (var key in json1) {//循环遍历其中一个json对象 if (typeof (json1[key]) != "object") { if (json2[key] != null) { if (json1[key] == json2[key]) { delete json1[key]; delete json2[key]; } } } else { if (json1[key].length >= 0) { for (i = 0; i < json1[key].length; i++) { this.Getdifferent(json1[key][i], json2[key][i]); } } else { this.Getdifferent(json1[key], json2[key]); } } } } AdchinaJson.Json2Str = function (o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' && s != null) return AdchinaJson.Json2Str(s); return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; } for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); return '{' + arr.join(',') + '}'; }