html字符串转换成json对象,json对象格式化成html字符串显示

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));