json转String与String转json及判断对象类型示例代码
json转String与String转json及判断对象类型示例代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:functionajaxGetMenuList(){$.getJSON("login.do",function(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>";

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新相关技巧学习
热门相关技巧学习
编程开发子分类