您的位置
主页 > 网站技术 > 相关技巧 > » 正文

json转String与String转json及判断对象类型示例代码

来源: 站长圈 点击:

点评:在网上会搜到很多关于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>"; 




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明