有时候咱们须要将json数据直接显示在页面上(好比在作一个接口测试的项目,须要将接口返回的结果直接展现),可是若是直接显示字符串,不方便查看。须要格式化一下。javascript
其实JSON.stringify自己就能够将JSON格式化,具体的用法是:css
javascriptJSON.stringify(res, null, 2); //res是要JSON化的对象,2是spacing
若是想要效果更好看,还要加上格式化的代码和样式:html
js代码:java
javascriptfunction syntaxHighlight(json) { if (typeof json != 'string') { json = JSON.stringify(json, undefined, 2); } json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function(match) { var cls = 'number'; if (/^"/.test(match)) { if (/:$/.test(match)) { cls = 'key'; } else { cls = 'string'; } } else if (/true|false/.test(match)) { cls = 'boolean'; } else if (/null/.test(match)) { cls = 'null'; } return '<span class="' + cls + '">' + match + '</span>'; }); }
样式代码:json
css<style> pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; } .string { color: green; } .number { color: darkorange; } .boolean { color: blue; } .null { color: magenta; } .key { color: red; } </style>
html代码:测试
html<pre id="result"> </pre>
调用代码:spa
javascript$('#result').html(syntaxHighlight(res));