zoukankan      html  css  js  c++  java
  • json转String 和 String转json 和判断对象类型

    function ajaxGetMenuList(){ 
    	        $.getJSON("login.do", function(json){ 
    				
    	        	var r = "";
    				zNodes += "[";
    	            $(json.menuList).each(function(i){ 
    	            	
    					r = json.menuList[i];
    					if(i>0) zNodes += ",";
    					zNodes += '{';
    					zNodes += 'id:'+r.SId;
    					zNodes += ', pId:'+r.SPid;
    					zNodes += ', name:"'+r.STitle;
    					if(r.SPid == 0) zNodes += '", open:true';
    					else zNodes += '"';
    					zNodes += '}';
    	
    	            }) 
    	            
    	            zNodes += "]";
    				zNodes = stringToJSON(zNodes);
    				createTree(zNodes);
    	        }); 
    			
    		} 
    
    		/**
    		 * json转String
    		 * @param {Object} obj
    		 * @memberOf {TypeName} 
    		 * @return {TypeName} 
    		 */
    		function jsonToString (obj){   
    	        var THIS = this;    
    	        switch(typeof(obj)){   
    	            case 'string':   
    	                return '"' + obj.replace(/(["\])/g, '\$1') + '"';   
    	            case 'array':   
    	                return '[' + obj.map(THIS.jsonToString).join(',') + ']';   
    	            case 'object':   
    	                 if(obj instanceof Array){   
    	                    var strArr = [];   
    	                    var len = obj.length;   
    	                    for(var i=0; i<len; i++){   
    	                        strArr.push(THIS.jsonToString(obj[i]));   
    	                    }   
    	                    return '[' + strArr.join(',') + ']';   
    	                }else if(obj==null){   
    	                    return 'null';   
    	  
    	                }else{   
    	                    var string = [];   
    	                    for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));   
    	                    return '{' + string.join(',') + '}';   
    	                }   
    	            case 'number':   
    	                return obj;   
    	            case false:   
    	                return obj;   
    	        }   
    	    }
    	
    	 	/**
    	 	 * String转json
    	 	 * @param {Object} obj
    	 	 * @return {TypeName} 
    	 	 */
    		function stringToJSON(obj){   
    		        return eval('(' + obj + ')');   
    		} 
    //判断对象类型
    function getType(x){
                if(x==null){
                    return "null";
                }
                var t= typeof x;
                if(t!="object"){
                    return t;
                }
                var c=Object.prototype.toString.apply(x);
                c=c.substring(8,c.length-1);
                if(c!="Object"){
                    return c;
                }
                if(x.constructor==Object){
                    return c
                }
                if("classname" in x.prototype.constructor
                        && typeof x.prototype.constructor.classname=="string"){
                    return x.constructor.prototype.classname;
                }
                return "<unknown type>";
            }
    


  • 相关阅读:
    django之快速分页
    python django 使用 haystack:全文检索的框架
    django的admin或者应用中使用KindEditor富文本编辑器
    Ubuntu安装微信
    python 基本模块
    [LeetCode] 860. 柠檬水找零 lemonade-change(贪心算法)
    [LeetCode] 455. 分发饼干 assign-cookies(贪心算法)
    [LeetCode] 122. 买卖股票的最佳时机ii best-time-to-buy-and-sell-stock-ii(贪心算法)
    [LeetCode] 225. 用队列实现栈
    [LeetCode] 155. minStack 设计最小栈
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3192265.html
Copyright © 2011-2022 走看看