function jsonToStr(json){
if(json instanceof Array){ //如果是数组
var tmpArr = [];
for(var i=0;i<json.length;i++){
tmpArr.push(jsonToStr(json[i])); //递归
}
return '['+tmpArr.join(",")+']'; //如果json是数组,那么最终会return这个
}else if(json instanceof Object){ //如果是对象
var tmpArr = [];
for(var n in json){
tmpArr.push('"'+n+'":'+jsonToStr(json[n])); //递归
}
return '{'+tmpArr.join(",")+'}'; //如果json是对象,那么最终会return这个
}else if(typeof json == 'string'){ //如果是字符串
return '"'+json.replace(/(\\|\")/g,"\\$1").replace(/\n/g,"\\n")+'"'; //如果json是字符串,就过滤掉斜杠、双引号、换行再返回
}else{
return json; //否则就原样返回
}
}
使用:
var obj = [{a:5,b:6},{a:"sss",b:"hhh"}]
console.log(jsonToStr(obj))
结果会输出:[{"a":5,"b":6},{"a":"sss","b":"hhh"}]
var obj = {a:5,b:6}
console.log(jsonToStr(obj))
结果会输出:{"a":5,"b":6}