zoukankan      html  css  js  c++  java
  • 比较两个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(',') + '}';
    }
    

      

  • 相关阅读:
    Sum of a Function(区间筛)
    (01背包)输出方案数
    删边求概率
    完全背包输出方案数(dp)
    二分
    Just Arrange the Icons(模拟)
    Balls of Buma(回文串)
    dp思想
    刷题-力扣-190. 颠倒二进制位
    刷题-力扣-173. 二叉搜索树迭代器
  • 原文地址:https://www.cnblogs.com/isenhome/p/2873578.html
Copyright © 2011-2022 走看看