如何将JS格式化显示JSON数据.md文档内容?

2026-04-06 11:101阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计524个文字,预计阅读时间需要3分钟。

如何将JS格式化显示JSON数据.md文档内容?

JSON格式化显示JSON数据APP接口开发,需求提供一个接口测试页面给APP开发者,该页面可直接显示经过压缩处理的JSON数据,方便开发者阅读和比较数据。

如何将JS格式化显示JSON数据.md文档内容?

功能描述:

- 提供一个简单的接口测试页面。- 页面支持输入经过压缩处理的JSON数据。- 页面将显示格式化后的JSON数据,便于开发者阅读。- 显示的数据应具有较好的可读性,便于比较差异。

JS格式化显示JSON数据.md

> JS格式化显示JSON数据 APP接口开发,需求提供一个接口测试页面给APP开发者,由于接口调用返回的是经过压缩处理过的JSON数据,直接显示在页面上阅读性比较差,但又不想搞个接口开放平台那样浪费时间,于是便想到直接对返回的JSON数据进行处理。 ``` /* 格式化JSON源码(对象转换为JSON文本) */ function formatJson(txt, compress/*是否为压缩模式*/) { var indentChar = ''; if (/^\s*$/.test(txt)) { alert('数据为空,无法格式化! '); return; } try { var data = eval('(' + txt + ')'); } catch (e) { alert('数据源语法错误,格式化失败! 错误信息: ' + e.description, 'err'); return; } var draw = [], last = false, This = this, line = compress ? '' : '\n', nodeCount = 0, maxDepth = 0; var notify = function (name, value, isLast, indent/*缩进*/, formObj) { nodeCount++; /*节点计数*/ for (var i = 0, tab = ''; i < indent; i++)tab += indentChar; /* 缩进HTML */ tab = compress ? '' : tab; /*压缩模式忽略缩进*/ maxDepth = ++indent; /*缩进递增并记录*/ if (value && value.constructor == Array) {/*处理数组*/ draw.push(tab + (formObj ? ('"' + name + '":') : '') + '[' + line); /*缩进'[' 然后换行*/ for (var i = 0; i < value.length; i++) { notify(i, value[i], i == value.length - 1, indent, false); } draw.push(tab + ']' + (isLast ? line : (',' + line))); /*缩进']'换行,若非尾元素则添加逗号*/ } else if (value && typeof value == 'object') {/*处理对象*/ draw.push(tab + (formObj ? ('"' + name + '":') : '') + '{' + line); /*缩进'{' 然后换行*/ var len = 0, i = 0; for (var key in value) { len++; } for (var key in value) { notify(key, value[key], ++i == len, indent, true); } draw.push(tab + '}' + (isLast ? line : (',' + line))); /*缩进'}'换行,若非尾元素则添加逗号*/ } else { if (typeof value == 'string') { value = '"' + value + '"'; } draw.push(tab + (formObj ? ('"' + name + '":') : '') + value + (isLast ? '' : ',') + line); } }; var isLast = true, indent = 0; notify('', data, isLast, indent, false); return draw.join(''); } ``` 希望对你有帮助,别问我是谁,我叫雷锋!

本文共计524个文字,预计阅读时间需要3分钟。

如何将JS格式化显示JSON数据.md文档内容?

JSON格式化显示JSON数据APP接口开发,需求提供一个接口测试页面给APP开发者,该页面可直接显示经过压缩处理的JSON数据,方便开发者阅读和比较数据。

如何将JS格式化显示JSON数据.md文档内容?

功能描述:

- 提供一个简单的接口测试页面。- 页面支持输入经过压缩处理的JSON数据。- 页面将显示格式化后的JSON数据,便于开发者阅读。- 显示的数据应具有较好的可读性,便于比较差异。

JS格式化显示JSON数据.md

> JS格式化显示JSON数据 APP接口开发,需求提供一个接口测试页面给APP开发者,由于接口调用返回的是经过压缩处理过的JSON数据,直接显示在页面上阅读性比较差,但又不想搞个接口开放平台那样浪费时间,于是便想到直接对返回的JSON数据进行处理。 ``` /* 格式化JSON源码(对象转换为JSON文本) */ function formatJson(txt, compress/*是否为压缩模式*/) { var indentChar = ''; if (/^\s*$/.test(txt)) { alert('数据为空,无法格式化! '); return; } try { var data = eval('(' + txt + ')'); } catch (e) { alert('数据源语法错误,格式化失败! 错误信息: ' + e.description, 'err'); return; } var draw = [], last = false, This = this, line = compress ? '' : '\n', nodeCount = 0, maxDepth = 0; var notify = function (name, value, isLast, indent/*缩进*/, formObj) { nodeCount++; /*节点计数*/ for (var i = 0, tab = ''; i < indent; i++)tab += indentChar; /* 缩进HTML */ tab = compress ? '' : tab; /*压缩模式忽略缩进*/ maxDepth = ++indent; /*缩进递增并记录*/ if (value && value.constructor == Array) {/*处理数组*/ draw.push(tab + (formObj ? ('"' + name + '":') : '') + '[' + line); /*缩进'[' 然后换行*/ for (var i = 0; i < value.length; i++) { notify(i, value[i], i == value.length - 1, indent, false); } draw.push(tab + ']' + (isLast ? line : (',' + line))); /*缩进']'换行,若非尾元素则添加逗号*/ } else if (value && typeof value == 'object') {/*处理对象*/ draw.push(tab + (formObj ? ('"' + name + '":') : '') + '{' + line); /*缩进'{' 然后换行*/ var len = 0, i = 0; for (var key in value) { len++; } for (var key in value) { notify(key, value[key], ++i == len, indent, true); } draw.push(tab + '}' + (isLast ? line : (',' + line))); /*缩进'}'换行,若非尾元素则添加逗号*/ } else { if (typeof value == 'string') { value = '"' + value + '"'; } draw.push(tab + (formObj ? ('"' + name + '":') : '') + value + (isLast ? '' : ',') + line); } }; var isLast = true, indent = 0; notify('', data, isLast, indent, false); return draw.join(''); } ``` 希望对你有帮助,别问我是谁,我叫雷锋!