blob: 51afe452ae30289f8f8d0c61c8373a3ca76d8095 [file] [log] [blame]
try{
var jsonStr='{}';
jsonObj=JSON.parse(jsonStr);
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";
printObjectValues(jsonObj,level);
htmlStr += "\n</table>\n</div>";
//var pattern = new RegExp("\\n","g");
//htmlstr =htmlStr.replace(pattern,'');
htmlStr += "</html>";
console.log(htmlStr);
function tabs(level){
return '';
}
function tabsOrig(level){
var tabs="";
for(var i=0;i<level;i++){
tabs += "\t";
}
return tabs;
}
function printObjectValues(jsonObj,level){
var output="";
var objectHtmlStr="";
try{
for (var key in jsonObj) {
//console.log(key +":" + jsonObj.hasOwnProperty(key));
if (jsonObj.hasOwnProperty(key)) {
var v = jsonObj[key];
if(typeof v === 'object' && Array.isArray(v) === false){
var idVal = objectId++;
level++;
objectHtmlStr += tabs(level) + "<div>\n" ;
objectHtmlStr += tabs(level+1 ) +"<table border='1'>\n" ;
var str=printObjectValues(v,level+2);
if(str != null && str != ''){
htmlStr += tabs(level+2) + objectHtmlStr + "<tr><td style='background-color:green'><a href=\"javascript:show('obj_" + idVal + "')\">" + key + "</a>\n";
htmlStr +="<input id='obj_" + idVal + "' type='hidden' value='" + str.trim() + "'>\n";
}
htmlStr += tabs(level+1) + "</table>\n" ;
htmlStr += tabs(level) + "</div>\n";
}else if(typeof v === 'object' && Array.isArray(v) === true){
var idVal = objectId++;
level++;
objectHtmlStr += tabs(level) + "<div>\n";
objectHtmlStr += tabs(level+1) + "<table border='1'>\n";
var str = printArrayValues(v,key,level+2);
if(str != null && str != ''){
htmlStr += tabs(level+2) + objectHtmlStr + "<tr><td style='background-color:blue'><a href=\"javascript:show('obj_" + idVal + "')\">" + key + "</a>\n";
htmlStr+="<input id='obj_" + objectId + "' type='hidden' value='" + str.trim() + "'>\n";
}
htmlStr += tabs(level+1) + "</table>\n" ;
htmlStr += tabs(level) + "</div>\n";
}else{
output += tabs(level) +"<tr><td>" + key + "</td><td>" + printValue(v) + "</td></tr>\n";
}
}
}
}catch(err){
console.log(err);
}
return output;
}
}catch(err){
console.log( err );
}
function printArrayValues(arrObj,key,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 idVal = objectId++;
level++;
arrayHtmlStr += tabs(level) + "<div>\n" ;
arrayHtmlStr += tabs(level+1 ) +"<table border='1'>\n" ;
var str = printObjectValues(o,level+2);
if(str != null && str != ''){
htmlStr += tabs(level+2 ) + arrayHtmlStr + "<tr><td><a href=\"javascript:show('obj_" + idVal + "')\">" +key + "[" + i + "]" + "</a>\n";
htmlStr+="<input id='obj_" + idVal + "' type='hidden' value='" +str.trim() + "'>\n";
}
htmlStr += tabs(level+1) + "</table>\n";
htmlStr += tabs(level) + "</div>\n";
}else if(typeof o === 'object' && Array.isArray(v) === true){
var idVal = objectId++;
level++;
arrayHtmlStr += tabs(level) + "<div>\n" ;
arrayHtmlStr += tabs(level+1 ) +"<table border='1'>\n" ;
var str = printArrayValues(o,key,level);
if(str != null && str != ''){
htmlStr += tabs(level+2 ) + arrayHtmlStr + "<tr><td><a href=\"javascript:show('obj_" + idVal + "')\">Array</a>\n";
htmlStr+="<input id='obj_" + idVal + "' type='hidden' value='" +str.trim() + "'>\n";
}
htmlStr += tabs(level+1) + "</table>\n";
htmlStr += tabs(level) + "</div>\n";
}else{
output += tabs(level) + "<tr><td>" + printValue(o) + "</td></tr>\n";
}
}
}catch(err){
console.log(err);
}
return output;
}
function printValue(obj){
if(obj != undefined){
return obj;
}else{
return "";
}
}