javascript格式化json显示实例分析


Posted in Javascript onApril 21, 2015

本文实例讲述了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;
};

关于json格式化感兴趣的朋友还可参考在线工具:

JSON代码工具

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js停止输出代码
Jul 20 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
理解AngularJs指令
Dec 10 Javascript
jQuery与JS加载事件用法分析
Sep 04 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
原生js实现each方法实例代码详解
May 27 Javascript
微信小程序后端(java)开发流程的详细步骤
Nov 13 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
微信小游戏中three.js离屏画布的示例代码
Oct 12 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 #Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 #Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 #Javascript
javascript格式化指定日期对象的方法
Apr 21 #Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 #Javascript
javascript判断数组内是否重复的方法
Apr 21 #Javascript
jQuery菜单插件superfish使用指南
Apr 21 #Javascript
You might like
深入理解PHP原理之执行周期分析
2016/06/01 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
python dict remove数组删除(del,pop)
2013/03/24 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
单位委托书范本
2014/04/04 职场文书
说明书怎么写
2014/05/06 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
万里长城导游词
2015/01/30 职场文书
红色经典电影观后感
2015/06/18 职场文书
趣味运动会赞词
2015/07/22 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python
如何利用golang运用mysql数据库
2022/03/13 Golang