diff options
Diffstat (limited to 'dgbuilder/tools/json_to_html')
-rw-r--r-- | dgbuilder/tools/json_to_html | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/dgbuilder/tools/json_to_html b/dgbuilder/tools/json_to_html new file mode 100644 index 00000000..51afe452 --- /dev/null +++ b/dgbuilder/tools/json_to_html @@ -0,0 +1,139 @@ +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 ""; + } +} |