1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 使用js格式化json

使用js格式化json

时间:2019-12-22 07:54:19

相关推荐

使用js格式化json

var jsonStr;// json字符串

// 格式化json字符串var jsonFormat = formatJson(jsonStr);

// 工具方法var formatJson = function(json, options) {var reg = null,formatted = '',pad = 0,PADDING = ' '; // one can also use '\t' or a different number of spaces// optional settingsoptions = options || {};// remove newline where '{' or '[' follows ':'options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false;// use a space after a colonoptions.spaceAfterColon = (options.spaceAfterColon === false) ? false : true;// begin formatting...// make sure we start with the JSON as a stringif (typeof json !== 'string') {json = JSON.stringify(json);}// parse and stringify in order to remove extra whitespacejson = JSON.parse(json);json = JSON.stringify(json);// add newline before and after curly bracesreg = /([\{\}])/g;json = json.replace(reg, '\r\n$1\r\n');// add newline before and after square bracketsreg = /([\[\]])/g;json = json.replace(reg, '\r\n$1\r\n');// add newline after commareg = /(\,)/g;json = json.replace(reg, '$1\r\n');// remove multiple newlinesreg = /(\r\n\r\n)/g;json = json.replace(reg, '\r\n');// remove newlines before commasreg = /\r\n\,/g;json = json.replace(reg, ',');// optional formatting...if (!options.newlineAfterColonIfBeforeBraceOrBracket) {reg = /\:\r\n\{/g;json = json.replace(reg, ':{');reg = /\:\r\n\[/g;json = json.replace(reg, ':[');}if (options.spaceAfterColon) {reg = /\:/g;json = json.replace(reg, ': ');}$.each(json.split('\r\n'), function(index, node) {var i = 0,indent = 0,padding = '';if (node.match(/\{$/) || node.match(/\[$/)) {indent = 1;} else if (node.match(/\}/) || node.match(/\]/)) {if (pad !== 0) {pad -= 1;}} else {indent = 0;}for (i = 0; i < pad; i++) {padding += PADDING;}formatted += padding + node + '\r\n';pad += indent;});return formatted;};

效果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。