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 settingsoptions = options || {};// remove newline where '{' or '[' follows ':'options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false;// use a space after a colonoptions.spaceAfterColon = (options.spaceAfterColon === false) ? false : true;// begin formatting...// make sure we start with the JSON as a stringif (typeof json !== 'string') {json = JSON.stringify(json);}// parse and stringify in order to remove extra whitespacejson = JSON.parse(json);json = JSON.stringify(json);// add newline before and after curly bracesreg = /([\{\}])/g;json = json.replace(reg, '\r\n$1\r\n');// add newline before and after square bracketsreg = /([\[\]])/g;json = json.replace(reg, '\r\n$1\r\n');// add newline after commareg = /(\,)/g;json = json.replace(reg, '$1\r\n');// remove multiple newlinesreg = /(\r\n\r\n)/g;json = json.replace(reg, '\r\n');// remove newlines before commasreg = /\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;};