最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js格式化json的实例代码

来源:懂视网 责编:小采 时间:2020-11-27 20:02:04
文档

js格式化json的实例代码

js格式化json的实例代码:本文主要和大家分享js格式化json的实例代码,希望能帮助到大家。var jsonStr;// json字符串// 格式化json字符串 var jsonFormat = formatJson(jsonStr);// 工具方法 var formatJson = function(json, options) { var
推荐度:
导读js格式化json的实例代码:本文主要和大家分享js格式化json的实例代码,希望能帮助到大家。var jsonStr;// json字符串// 格式化json字符串 var jsonFormat = formatJson(jsonStr);// 工具方法 var formatJson = function(json, options) { var
本文主要和大家分享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 '	' 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...

 // make sure we start with the JSON as a string
 if (typeof json !== 'string') {
 json = JSON.stringify(json);
 }
 // parse and 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, '
$1
');

 // add newline before and after square brackets
 reg = /([[]])/g;
 json = json.replace(reg, '
$1
');

 // add newline after comma
 reg = /(,)/g;
 json = json.replace(reg, '$1
');

 // remove multiple newlines
 reg = /(

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

 // remove newlines before commas
 reg = /
,/g;
 json = json.replace(reg, ',');

 // optional formatting...
 if (!options.newlineAfterColonIfBeforeBraceOrBracket) {
 reg = /:
{/g;
 json = json.replace(reg, ':{');
 reg = /:
[/g;
 json = json.replace(reg, ':[');
 }
 if (options.spaceAfterColon) {
 reg = /:/g;
 json = json.replace(reg, ': ');
 }

 $.each(json.split('
'), 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 + '
';
 pad += indent;
 });

 return formatted;
 };

效果图

文档

js格式化json的实例代码

js格式化json的实例代码:本文主要和大家分享js格式化json的实例代码,希望能帮助到大家。var jsonStr;// json字符串// 格式化json字符串 var jsonFormat = formatJson(jsonStr);// 工具方法 var formatJson = function(json, options) { var
推荐度:
标签: 格式化 js 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top