json2dom
Version:
A utility for generating DOM string from JSON
47 lines (32 loc) • 815 B
JavaScript
module.exports = function json2DomString(json){
var arr = [];
if(!Array.isArray(json)){
arr.push(json)
}else{
arr = json;
}
var str = "";
for(var i=0;i<arr.length;i++){
var props = arr[i].properties || [];
str += createTag(arr[i].tagname,false,arr[i].attributes,props);
if(arr[i].children){
str += json2DomString(arr[i].children);
}
str += arr[i].value || "";
str += createTag(arr[i].tagname,true);
}
return str;
}
function createTag(tagname,closing,attributes,props){
if(closing){
return "</"+tagname+">";
}
return "<"+tagname +" "+ addAttributes(attributes)+" "+props.join(" ")+" >";
}
function addAttributes(attributes){
var str = "";
for(key in attributes){
str += key+"='"+attributes[key]+"' ";
}
return str;
}