首页 > Web开发 > 详细

前端json格式化输出函数

时间:2020-08-13 12:19:55      阅读:64      评论:0      收藏:0      [点我收藏+]
format(str){
    var stack = []; //栈-用于括号匹配
    var tmpStr = ‘‘;    //新格式化JSON字符串
    var len = str.length;   //原始JSON长度

    //遍历每一个字符
    for (let i = 0; i < len; i++) {

        //当遇到结构块起始结构
        if (str[i] == ‘{‘ || str[i] === ‘[‘) {

            //起始结构后面直接换行  
            tmpStr += str[i] + "\n";

            //入栈
            stack.push(str[i]);
            
            //这里的意思是结构块起始的下一行开始就会有一个缩进,缩进量与遇到的结构块起始符个数成正比1:1
            tmpStr += "\t".repeat(stack.length);
        } 
        //当遇到结构块结束符
        else if (str[i] == ‘]‘ || str[i] === ‘}‘) {

            //因为本身JSON格式是固定的,所以括号一定是成对的,这里先不考虑错误的json数据
            //遇到结束符就退栈,
            stack.pop();

            //结束符本身输出到下一行,并减少一个缩进
            tmpStr += "\n"+"\t".repeat(stack.length) + str[i];
        } 
        //当遇到逗号的时候
        else if (str[i] == ‘,‘) {
            //逗号后方直接换行,以及下一行的缩进处理
            tmpStr += str[i] + "\n" + "\t".repeat(stack.length);
        } 
        else {
            //其他字符直接复制
            tmpStr += str[i];
        }
    }
    return tmpStr;
},

技术分享图片

 

前端json格式化输出函数

原文:https://www.cnblogs.com/hwj369/p/13495201.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!