比較兩個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(',') + '}';
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM