</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;
}