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

js对象转json字符串,并保留js对象中的javascript脚本

2016-01-28 14:43 666 查看
</pre><pre name="code" class="javascript">

/**
* Created by shantao on 2016/2/1.
*/
/**
* json对象转字符串
*
* @param obj json对象
* @returns
*/
function obj2Str(obj) {
switch (typeof (obj)) {
case 'object':
var ret = [];
if (obj instanceof Array) {
for ( var i = 0, len = obj.length; i < len; i++) {
ret.push(obj2Str(obj[i]));
}
return '[' + ret.join(',') + ']';
} else if (obj instanceof RegExp) {
return obj.toString();
} else {
for ( var a in obj) {
ret.push(a + ':' + obj2Str(obj[a]));
}
return '{' + ret.join(',') + '}';
}
case 'function':
return obj;
case 'number':
return obj.toString();
case 'string':
return "\"" + obj.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function(a) {
return ("\n" == a) ? "\\n" : ("\r" == a) ? "\\r" : ("\t" == a) ? "\\t" : "";
}) + "\"";
case 'boolean':
return obj.toString();
default:
return obj.toString();
}
}

/**
* json对象转字符串
*
* @param obj json对象
* @param needScript true|false 是否保留json对象中的javaScript脚本
*/
function formatJsonObjToString(obj, needScript) {
var resultString = "";
if (needScript) {
resultString = obj2Str(obj);
} else {
resultString = JSON.stringify(obj);
}
return resultString;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: