方式一:以默认黑体显示Json字符串。
我们经常会遇到想调试看下返回的Json字符串正不正确,以前总是使用 alert(JsonUti.convertToString(data));
但是JsonUti方法要引用一个JsonToString.js文件,这样就导致我每个项目中都要在Script文件夹中放一个JsonToString.js文件,然后在Shared里面的模板中引用。
但其实这种返回的结果和 JSON本身的JSON.stringify显示方式是一样的。可以直接不必要那么麻烦去引用JsonToString.js文件,而直接通过JSON.stringify(res, null, 2) 这种方式调用即可。
其中res是要JSON化的对象,2是spacing 。
以上方式为方式一,显示时,所有字符以默认黑体显示,如果要想显示的更直观,清晰一点,建议采用以下方式二显示。
方式二:以彩色字体显示Json字符串
1.创建样式文件:
@*Json样式*@

1 <style> 2 pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; } 3 .string { color: green; } 4 .number { color: darkorange; } 5 .boolean { color: blue; } 6 .null { color: magenta; } 7 .key { color: red; } 8 </style> 9 10
2.格式化Json方法

1 <script type="text/javascript"> 2 3 function syntaxHighlight(json) { 4 if (typeof json != 'string') { 5 json = JSON.stringify(json, undefined, 2); 6 } 7 json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); 8 return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { 9 var cls = 'number'; 10 if (/^"/.test(match)) { 11 if (/:$/.test(match)) { 12 cls = 'key'; 13 } else { 14 cls = 'string'; 15 } 16 } else if (/true|false/.test(match)) { 17 cls = 'boolean'; 18 } else if (/null/.test(match)) { 19 cls = 'null'; 20 } 21 return '<span class="' + cls + '">' + match + '</span>'; 22 }); 23 } 24 </script>
3.在html上添加一个<pre></pre>用户显示
<pre id="result">
</pre>
4.在方法中添加调用方法:
$('#result').html(syntaxHighlight(data));
显示效果如下图: