当前位置:   article > 正文

JS格式化JSON数据_js json格式化

js json格式化
  1. var a = "{"code": "0","msg": "查询成功","resultData": [{"hhrAddress": "南京市建邺区江东中路228","hhrBirthDate": 631123200000},{"hhrAddress": "北京京市建邺区江东中路666","hhrBirthDate": 1545315245} ],"systemId": ""}";
  2. var b = formatJsonForNotes(a);
  3. var formatJsonForNotes = function (json, options) {
  4. var reg = null,
  5. formatted = '',
  6. pad = 0,
  7. PADDING = ' '; // (缩进)可以使用'\t'或不同数量的空格
  8. // 可选设置
  9. options = options || {};
  10. // 在 '{' or '[' follows ':'位置移除新行
  11. options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false;
  12. // 在冒号后面加空格
  13. options.spaceAfterColon = (options.spaceAfterColon === false) ? false : true;
  14. // 开始格式化...
  15. if (typeof json !== 'string') {
  16. // 确保为JSON字符串
  17. json = JSON.stringify(json);
  18. } else {
  19. //已经是一个字符串,所以解析和重新字符串化以删除额外的空白
  20. json = JSON.parse(json);
  21. json = JSON.stringify(json);
  22. }
  23. // 在花括号前后添加换行
  24. reg = /([{}])/g;
  25. json = json.replace(reg, '\r\n$1\r\n');
  26. // 在方括号前后添加新行
  27. reg = /([[]])/g;
  28. json = json.replace(reg, '\r\n$1\r\n');
  29. // 在逗号后添加新行
  30. reg = /(,)/g;
  31. json = json.replace(reg, '$1\r\n');
  32. // 删除多个换行
  33. reg = /(\r\n\r\n)/g;
  34. json = json.replace(reg, '\r\n');
  35. // 删除逗号前的换行
  36. reg = /\r\n,/g;
  37. json = json.replace(reg, ',');
  38. // 可选格式...
  39. if (!options.newlineAfterColonIfBeforeBraceOrBracket) {
  40. reg = /:\r\n{/g;
  41. json = json.replace(reg, ':{');
  42. reg = /:\r\n[/g;
  43. json = json.replace(reg, ':[');
  44. }
  45. if (options.spaceAfterColon) {
  46. reg = /:/g;
  47. json = json.replace(reg, ': ');
  48. }
  49. $.each(json.split('\r\n'), function (index, node) {
  50. var i = 0,
  51. indent = 0,
  52. padding = '';
  53. if (node.match(/{$/) || node.match(/[$/)) {
  54. indent = 1;
  55. } else if (node.match(/}/) || node.match(/]/)) {
  56. if (pad !== 0) {
  57. pad -= 1;
  58. }
  59. } else {
  60. indent = 0;
  61. }
  62. for (i = 0; i < pad; i++) {
  63. padding += PADDING;
  64. }
  65. formatted += padding + node + '\r\n';
  66. pad += indent;
  67. });
  68. return formatted;
  69. };

b为格式化后的json数据。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/733827
推荐阅读
相关标签
  

闽ICP备14008679号