您的位置:首页 > Web前端 > JavaScript

arrayToJson将数组转化为json格式的js代码

2014-06-12 17:27 591 查看
//去除空格

function trim(str)

{

return str.replace(/\s|\xA0/g,"");

}

/**

*js数组转json

*

*/

function arrayToJson(o) {

var r = [];

if (o==undefined||o==null) return "null";

if (typeof o == "string") return "\"" + o.replace(/([\'\")/g]\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g,
"\\r").replace(/(\t)/g, "\\t") + "\"";

if (typeof o == "object") {

if (!o.sort) {

for (var i in o)

r.push(i + ":" + arrayToJson(o[i]));

if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {

r.push("toString:" + o.toString.toString());

}

r = "{" + r.join() + "}";

} else {

for (var i = 0; i < o.length; i++) {

r.push(arrayToJson(o[i]));

}

r = "[" + r.join() + "]";

}

return r;

}

return o.toString();

}

/**

*js数组转json(改进,key值加引号)

*

*/

function arrayToJson(o) {

var r = [];

if (o==undefined||o==null) return "null";

if (typeof o == "string") return "\"" + o.replace(/([\'\")/g]\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g,
"\\r").replace(/(\t)/g, "\\t") + "\"";

if (typeof o == "object") {

if (!o.sort) {

for (var i in o)

r.push(""\"+i +""\"+ ":" + arrayToJson(o[i]));

if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {

r.push("toString:" + o.toString.toString());

}

r = "{" + r.join() + "}";

} else {

for (var i = 0; i < o.length; i++) {

r.push(arrayToJson(o[i]));

}

r = "[" + r.join() + "]";

}

return r;

}

return o.toString();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: