具体深入分析如下金沙网址

javascript格式化json显示实例分析,json实例分析

本文实例讲述了javascript格式化json显示方法。分享给大家供大家参考。具体分析如下:

将json对象或者json字符串格式化方便在网页上限制

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程序设计有所帮助。

本文实例讲述了javascript格式化json显示方法。分享给大家供大家参考。具体分析如下:
将js…

相关文章