• 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>";
            }
    


  • 相关阅读:
    Navicat Premium 12安装及破解(四)
    ajax原理及应用(十六)
    为什么每次下载后必须关闭掉IO流(十五)
    FormData提交文件(十四)
    代理设计模式(三)
    单例模式(二)
    工厂模式(一)
    集采用的验证规则
    java泛型的理解
    spring中如何直接注入session和request对像
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3192265.html
Copyright © 2020-2023  润新知