手机
当前位置:查字典教程网 >编程开发 >相关技巧 >json转String与String转json及判断对象类型示例代码
json转String与String转json及判断对象类型示例代码
摘要:复制代码代码如下: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>";

}

【json转String与String转json及判断对象类型示例代码】相关文章:

改良程序的11技巧分享

301重定向代码合集(iis,asp,php,asp.net,apache)

程序员开发项目是选择效率还是质量呢?

让开发自动化 用 Eclipse 插件提高代码质量

String与string的区别(注意大小写)

如何禁止浏览器使用后退按钮功能

phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案

使用git代替FTP部署代码到服务器的例子

算法系列15天速成 第九天 队列

Application,Session,Cookies对象应用介绍

精品推荐
分类导航