使用 js 美化 json
来源:互联网 发布:文明的起源知乎 编辑:程序博客网 时间:2024/06/04 19:35
//json美化
varformatJson=function(json,options){
varreg=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(typeofjson!=='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){
vari=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;
});
returnformatted;
};
阅读全文
1 0
- 使用 js 美化 json
- JS实现json格式美化
- 使用uglifyjs工具来压缩美化js
- 多选框select美化chosen.js的使用
- js中的json使用
- jquery.json.js使用
- js 中JSON使用
- js 使用Json数据
- JSON美化输出
- 使用Beautify.js来美化你的jQuery代码
- 使用css3和js对日期时间进行美化
- 美化滚动条插件mCustomScrollbar.js的使用示例
- java json使用以及js json
- JS美化select运费
- JS美化对话框
- js使用eval解析json(js中使用json)
- json,js,java使用总结
- json.js原文及使用
- Java对象的序列化和反序列化
- Redis的key设计技巧
- Linux环境下安装Redis
- php去掉最后一个字符
- Tensorflow add op
- 使用 js 美化 json
- 圆角边框
- Java 访问PI 数据库:(1)安装必要软件
- 判断php变量是否为空/已定义
- caffe_score.py
- 逻辑回归模型(Logistic Regression, LR)基础
- BZOJ 1856 [Scoi2010]字符串 组合数学
- Thrift之TProtocol类体系原理及源码详细解析之紧凑协议类TCompactProtocolT
- IOS 11 下title 偏移问题,有人遇到过吗?