>  기사  >  웹 프론트엔드  >  json 형식을 지정하는 js의 예제 코드

json 형식을 지정하는 js의 예제 코드

小云云
小云云원래의
2018-03-02 13:19:552825검색

本文主要和大家分享js格式化json的实例代码,希望能帮助到大家。

var jsonStr;// json字符串
// 格式化json字符串
var jsonFormat = formatJson(jsonStr);
// 工具方法
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...

                    // make sure we start with the JSON as a string
                    if (typeof json !== 'string') {
                        json = JSON.stringify(json);
                    }
                    // parse and 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;
                };

效果图

相关推荐:

html怎样格式化json数据

格式化Json传递日期的方法

html格式化json的实例代码

위 내용은 json 형식을 지정하는 js의 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.