try{ var jsonStr='{}'; jsonObj=JSON.parse(jsonStr); var htmlObj ={}; var objectId =0; var level=0; var htmlStr="" htmlStr += "<html>"; htmlStr += "<head>"; htmlStr += "<script>"; htmlStr += "function show(idVal){"; htmlStr += " var val = \"<table border='1'>\" + document.getElementById(idVal).value + \"</table>\";"; htmlStr += " document.getElementById('displayId').innerHTML = val;"; htmlStr += "document.getElementById('displayId').style.display = \"block\";"; //htmlStr += "alert(idVal);"; //htmlStr += "alert(val);"; htmlStr += "}"; htmlStr += "</script>"; htmlStr += "</head>"; htmlStr += "<div id='displayId' style='display:none'></div>"; htmlStr += "<div>\n<table border='1'>\n"; console.log("<html><table border='1'>"); printObjectValues(jsonObj,null,level); console.log("</table></html>"); htmlStr += "\n</table>\n</div>"; //var pattern = new RegExp("\\n","g"); //htmlstr =htmlStr.replace(pattern,''); htmlStr += "</html>"; //console.log(htmlStr); //console.dir(htmlObj); var keyObj={}; for (var key in htmlObj) { var idx = key.lastIndexOf("."); if(idx != -1){ var str = key.substr(0,idx); keyObj[str] =''; }else{ keyObj[key] =''; } //console.log(str); } console.dir(keyObj); console.log("<ul>"); for (var key in keyObj) { console.log("<li>" + key + "</li>"); } console.log("</ul>"); function tabs(level){ return ''; } function tabsOrig(level){ var tabs=""; for(var i=0;i<level;i++){ tabs += "\t"; } return tabs; } function printObjectValues(jsonObj,pkey,level){ var output=""; var objectHtmlStr=""; try{ for (var key in jsonObj) { if (jsonObj.hasOwnProperty(key)) { var v = jsonObj[key]; if(typeof v === 'object' && Array.isArray(v) === false){ var nkey=""; if(pkey != null){ nkey = pkey + "." + key; }else{ nkey = key; } var str=printObjectValues(v,nkey,level+2); }else if(typeof v === 'object' && Array.isArray(v) === true){ var nkey=""; if(pkey != null){ nkey = pkey + "." + key; }else{ nkey = key; } var str = printArrayValues(v,nkey,level+2); }else{ if(pkey != null){ //console.log(pkey + "." + key + ":" +printValue(v) ); console.log("<tr><td>" + pkey + "." + key + "</td><td>" +printValue(v) + "</td></tr>" ); htmlObj[pkey + "." + key ] = printValue(v); }else{ //console.log( key + ":" +printValue(v) ); console.log("<tr><td>" + key + "</td><td>" +printValue(v) + "</td></tr>" ); htmlObj[key ] = printValue(v); } //printValue(v); } } } }catch(err){ console.log(err); } return output; } }catch(err){ console.log( err ); } function printArrayValues(arrObj,pkey,level){ var output =""; var arrayHtmlStr =""; try{ for(var i=0;arrObj != null && i<arrObj.length;i++){ var o=arrObj[i]; if(typeof o === 'object' && Array.isArray(o) === false){ var nkey = pkey +"[" + i + "]" ; var str = printObjectValues(o,nkey,level+2); }else if(typeof o === 'object' && Array.isArray(v) === true){ var nkey = pkey +"[" + i + "]" ; var str = printArrayValues(o,nkey,level); }else{ console.log("<tr><td>" + pkey + "." + key + "</td><td>" +printValue(o) + "</td></tr>" ); htmlObj[pkey + "." + key ] = printValue(o); //console.log(pkey + ":" +printValue(o) ); //output += tabs(level) + "<tr><td>" + printValue(o) + "</td></tr>\n"; } } }catch(err){ console.log(err); } return output; } function printValue(obj){ if(obj != undefined){ if(typeof obj == 'string'){ return "'" + obj + "'"; }else{ return obj; } }else{ return ""; } }