侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

json对象找根节点

2024-05-12 星期日 / 0 评论 / 0 点赞 / 95 阅读 / 3614 字

(function(){ var data ={ name:'fdasfa.', child:'.fdafa.', type:[ {name:'jghjff.'

(function(){
    var data ={
        name:'fdasfa.',
        child:'.fdafa.',
        type:[
            {name:'jghjff.'},
            {tet:'gfsdgsgsdgs.',lastName:{ccc:'.hahah'}},
            {tec:'43434_dfgs.'},
            {longh:[{ccc:[43434,566565,3232,{tlo:12,dcc:121212}]}]}
        ],
        aa:[{ttt:{abc:{cce:222}}}]
    };
    var FLAG='$'+Math.random().toString().replace(//./gi,'');
    var array=[];
    JSON(data);
    function JSON(obj,path){
        path=path || '';
        if(typeof(obj)=='object'){
            if(isArray(obj)){
                for(var i=0;i<obj.length;i++){
                    JSON(obj[i],path+'['+i+']'+FLAG);
                }
            }else if(isObject(obj)){
                for(var k in  obj){
                    if(isObject(obj[k])){
                        JSON(obj[k],FLAG+k+path);
                    }else if(isArray(obj[k])){
                        path= path.substring(FLAG.length,path.length);
                        JSON(obj[k],FLAG+path+k);
                    }else{
                        JSON(obj[k],k+path);
                    }

                }
            }
        }else{
            path=arrayReverse(path);
            console.log(path.join('.')+':'+obj);
        }
    };
    function arrayReverse(arr){
        var copy =[];
        arr =arr.toString().split(FLAG);
        arr =arr.reverse();
        for(var i=0;i<arr.length;i++){
            if(arr[i]){
                copy.push(arr[i]);
            }
        }
        return copy;
    }

    function objfn(obj){
        return Object.prototype.toString.call(obj).toLocaleLowerCase();
    }

    function isArray(obj){
        return objfn(obj)=='[object array]';
    }

    function isObject(obj){
        return objfn(obj)=='[object object]';
    }

})();

广告 广告

评论区