function jsonStrFormat(jsonData, tableSpaceNum) {
//缩进字符
var spaceStr = " ";
var startStr = "";
var endStr = "";
var subArr = [];
var subStr = "";
var dataType = checkDataType(jsonData);
if(dataType === 'obj'){
//对象
startStr = "{
";
for(var i in jsonData){
subStr = numberStr(tableSpaceNum+1,spaceStr)+'"'+i+'":'+jsonStrFormat(jsonData[i],tableSpaceNum+1);
subArr.push(subStr);
}
endStr = "
"+numberStr(tableSpaceNum,spaceStr)+"}";
return startStr + subArr.join(',
') + endStr;
}
if(dataType === 'arr'){
//对象
startStr = "[
";
for(var i in jsonData){
subStr = numberStr(tableSpaceNum+1,spaceStr) + jsonStrFormat(jsonData[i],tableSpaceNum+1);
subArr.push(subStr);
}
endStr = "
"+numberStr(tableSpaceNum,spaceStr)+"]";
return startStr + subArr.join(',
') + endStr;
}
if(dataType === 'str'){
//对象
return '"'+jsonData+'"';
}
}
function numberStr(num, str){
console.log(num);
var tmpStr="";
for(var i=0;i
tmpStr+=str;
}
return tmpStr;
}
function checkDataType(checkData){
if(typeof checkData === 'object'){
if(checkData instanceof Array){
return 'arr';
}else{
return 'obj';
}
}
if(typeof checkData === 'string'){
return 'str';
}
}
var jsonDataS = {
"s": {
"sdfs": [
"sdfs", "sdfsd", "sdfsd"
]
}
};
console.log(jsonStrFormat(jsonDataS,0));