• 解析Json的格式.


    Javascript小弟初学不久.所以如下有什么大的笑话.多多见谅.

    因为有时得到JSON数据后.只能处后台来推断.如果后台不是我们处理.那我们怎么来得到他的格式了.如下: 

    //obj为JSON格式数据
    function jsonToString(obj)
    {
        var str = "";
        var depth = 0;
        function jsonParseString(obj)
        {
            for(var p in obj){ 
                if(Object.prototype.toString.apply(obj[p]) == "[object Array]"){               
                    str += p +":"+"\n";
                    var length = obj[p].length; 
                    for(var i =0;i<length;i++){
                        depth++;
                        jsonParseString(obj[p][i]);     
                    }          
                }
                else{
                    var con = "";
                    for(var j= 0;j<depth;j++)
                        con += "    ";
                    str += con + p + "=" + obj[p] + "\n";
                }
            } 
            depth--;    
        }   
        jsonParseString(obj);
        return str; 
    } 

    传进来的是JSON格式的数据.最先我就一递归函数.但是发现结果不对(如果JSON里有数组,会得不到数组里的分析结果)主要是因为Javascript里的字符串是值传递.

    所以想的是用全局变量.但是这个函数是给别的来调用的.不可能还去写个全局变量.
    后利用JavaScript的闭包.来达到相应效果并不用全局变量.其中深度控制也是如此.
    深度控制没有具体测试.可能如果数组里有数组.也可能数组连数组不能正确显示(这个因时间关系没有测试)
    解析结果如下:
    呵呵,有的人可能看出来了.这个是JqGrid要求的JSON格式.
  • 相关阅读:
    适配器模式(Adapter)
    状态模式(State)
    观察者模式(Publish/Subscribe)
    建造者模式(Builder)
    数据库,知识点汇总
    数据库
    css样式大全
    遮罩层
    js数组冒泡
    js基本方法
  • 原文地址:https://www.cnblogs.com/zhouxin/p/1662616.html
Copyright © 2020-2023  润新知