18910140161

一段JS格式化JSON的代码

顺晟科技

2021-06-16 10:57:36

259

使用方法,格式(json)这样为格式化代码。

格式(json,true)为开启压缩模式。

样例1:

射流研究…代码收藏代码

函数格式(txt,压缩/*是否为压缩模式*/){/* 格式化数据源码(对象转换为数据文本) */

var indentChar=

if(/^\s*$/.test(txt)){

" alert("数据为空,无法格式化!');

返回;

}

请尝试{ var data=eval('(' txt ')');}

catch(e){

" alert("数据源语法错误,格式化失败!错误信息: ' e.description,' err ');

返回;

};

var draw=[],last=false,This=this,line=compress?'\n ',nodeCount=0,MaxDepth=0;

var notify=function(name,value,isLast,indent/*缩进*/,formObj){

节点数/*节点计数*/

for (var i=0,tab=iindin)tab=缩进字符;/* 缩进HTML */

tab=压缩?tab/*压缩模式忽略缩进*/

maxDepth=缩进;/*缩进递增并记录*/

if(value value。构造函数==Array){/*处理数组*/

画画。push(tab)(formObj?(' ' ' name ' ' : '): ' ')'[' line);/*缩进'[' 然后换行*/

for(var I=0;ivalue.lengthI)

notify(i,value[i],i==value.length-1,indent,false);

draw.push(tab ']' (isLast?line:(',' line));/*缩进']'换行,若非尾元素则添加逗号*/

} else if(value type of value==' object '){/*处理对象*/

画画。push(tab)(formObj?(' ' ' name '':'):'') '{ '行);/*缩进'{' 然后换行*/

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(值类型==' string ')value=' ' ' value ' ' ';

画画。push(tab)(formObj?(' ' ' name '':'): ' ')值(isLast?' : ',')行);

};

};

var isLast=true,indent=0;

notify(' ',data,isLast,indent,false);

返回抽奖。join(');

}

样例2:

射流研究…代码收藏代码

getformatjsonstrfromstring :函数(jsonStr){

var res=

for(var i=0,j=0,k=0,ii,eleijsonStr.lengthI)

{//k:缩进,j: ' '个数

ele=jsonstr。charat(I);

if(j%2==0ele=='} ')

{

k-;

for(ii=0;iikii)ele=' ele;

ele=' \ n ' ele

}

else if(j%2==0ele=='{ ')

{

ele=' \ n

k;

for(ii=0;iikii)ele=' ';

}

else if(j%2==0ele==',')

{

ele=' \ n

for(ii=0;iikii)ele=' ';

}

else if(ele==' \ ' ')j;

res=ele

}

返回决心

},

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航