javaScript 格式化json和xml

2021-08-24 17:40:27 字數 3215 閱讀 2174

lang="en">

charset="utf-8">

原生js格式化json的方法title>

head>

id="writeplace">

div>

//格式化**函式,已經用原生方式寫好了不需要改動,直接引用就好

var formatjson = function

(json, options) ;

options.newlineaftercolonifbeforebraceorbracket = (options.newlineaftercolonifbeforebraceorbracket === true) ? true : false;

options.spaceaftercolon = (options.spaceaftercolon === false) ? false : true;

if (typeof json !== 'string') else

reg = /([\])/g;

json = json.replace(reg, '\r\n$1\r\n');

reg = /([\[\]])/g;

json = json.replace(reg, '\r\n$1\r\n');

reg = /(\,)/g;

json = json.replace(reg, '$1\r\n');

reg = /(\r\n\r\n)/g;

json = json.replace(reg, '\r\n');

reg = /\r\n\,/g;

json = json.replace(reg, ',');

if (!options.newlineaftercolonifbeforebraceorbracket)

if (options.spaceaftercolon)

(json.split('\r\n')).foreach(function

(node, index) else

if (node.match(/\}/) || node.match(/\]/))

} else

for (i = 0; i < pad; i++)

formatted += padding + node + '\r\n';

pad += indent;});

return formatted;

};//引用示例部分

//(1)建立json格式或者從後台拿到對應的json格式

var originaljson = ;

//(2)呼叫formatjson函式,將json格式進行格式化

var resultjson = formatjson(originaljson);

//(3)將格式化好後的json寫入頁面中

document.getelementbyid("writeplace").innerhtml = '' +resultjson + '';

script>

body>

html>

在格式化xml時後台需要對返回資料做一下處理:

stringescapeutils.escapehtml(po.getmsgbody())

lang="en">

charset="utf-8">

原生js格式化xml的方法title>

head>

id="writeplace">

div>

//格式化**函式,已經用原生方式寫好了不需要改動,直接引用就好

string.prototype.removelineend = function

() function

formatxml

(text) ).replace(/>\s*?, ">\n<");

//把注釋編碼

text = text.replace(/\n/g, '\r').replace(//g, function

($0, text) ).replace(/\r/g, '\n');

//調整格式

var rgx = /\n(<(([^\?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(?:(\/)>)|(?:<(\/)\2>)))?)/mg;

var nodestack = ;

var output = text.replace(rgx, function

($0, all, name, isbegin, isclosefull1, isclosefull2, isfull1, isfull2)

else

}else

}var ret = '\n' + prefix + all;

return ret;

});var prefixspace = -1;

var outputtext = output.substring(1);

//alert(outputtext);

//把注釋還原並解碼,調格式

outputtext = outputtext.replace(/\n/g, '\r').replace(/(\s*)/g, function

($0, prefix, text) );

return outputtext.replace(/\s+$/g, '').replace(/\r/g, '\r\n');

}function

getprefix

(prefixindex)

return output.join('');

}//引用示例部分

//(1)建立xml格式或者從後台拿到對應的xml格式

var originalxml = '<?xml version="1.0"?> tove

jani

reminder

dont forget me this weekend!

'; //(2)呼叫formatxml函式,將xml格式進行格式化

var resultxml = formatxml(originalxml);

//(3)將格式化好後的formatxml寫入頁面中

document.getelementbyid("writeplace").innerhtml = '' +resultxml + '';

script>

body>

html>

JavaScript日期格式化

function formatdatefn timestamp,format else if typeof timestamp object var padnum function num 指定格式字元 var cfg format format yyyy mm dd hh mm ss return...

javascript 日期格式化

日期格式化是使用率非常高的,乙個實用的日期格式化工具能大大提高工作效率。date函式原型擴充套件 date.prototype.format function params var value params.value datetime var chinese params.chinese fals...

javascript 數字格式化

alert format 12345.67 00 輸出 12,345.67 alert format 12345.67 0,000.00 輸出 2,345.67 0匹配符,產生了擷取 alert format 12345.67 00 輸出 12345.00 alert format 12345.67...