html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

javascript格式化json显示实例分析_javascript技巧_

[ ] 已经帮助:人解决问题

本文实例讲述了javascript格式化json显示方法。分享给大家供大家参考。具体分析如下:CWJHTML5中文学习网 - HTML5先行者学习网

将json对象或者json字符串格式化方便在网页上限制CWJHTML5中文学习网 - HTML5先行者学习网

var formatJson = function(json, options) { var reg = null,  formatted = '',  pad = 0,  PADDING = '';  //one can also use '/t' or a different number of spaces // optional settings options = options || {}; // remove newline where '{' or '[' follows ':' options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false; // use a space after a colon options.spaceAfterColon = (options.spaceAfterColon === false) ? false : true; // begin formatting... if (typeof json !== 'string') {  // make sure we start with the JSON as a string  json = JSON.stringify(json); } else {  // is already a string, so parse and re-stringify  //in order to remove extra whitespace  json = JSON.parse(json);  json = JSON.stringify(json); } // add newline before and after curly braces reg = /([/{/}])/g; json = json.replace(reg, '/r/n$1/r/n'); // add newline before and after square brackets reg = /([/[/]])/g; json = json.replace(reg, '/r/n$1/r/n'); // add newline after comma reg = /(/,)/g; json = json.replace(reg, '$1/r/n'); // remove multiple newlines reg = /(/r/n/r/n)/g; json = json.replace(reg, '/r/n'); // remove newlines before commas reg = //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;};

希望本文所述对大家的javascript程序设计有所帮助。CWJHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助