1. 程式人生 > >從JSON中讀取數據追加到HTML中

從JSON中讀取數據追加到HTML中

格式 string repl number var str return null ram

本文來自https://www.jianshu.com/p/04127d74d88c,並非本人原創,只是作為自己學習使用的資料,如有瀏覽者請點擊地址自行到原作者頁面瀏覽

有時候我們需要將json數據直接顯示在頁面上(比如在做一個接口測試的項目,需要將接口返回的結果直接展示),但是如果直接顯示字符串,不方便查看。需要格式化一下。其實JSON.stringify本身就可以將JSON格式化,具體的用法是:

JSON.stringify(res, null, 2); //res是要JSON化的對象,2是spacing

如果想要效果更好看,還要加上格式化的代碼和樣式:

js代碼:

function 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>‘; }); }
樣式代碼: <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代碼: <pre id="result">

</pre>
調用代碼: $(‘#result‘).html(syntaxHighlight(res));
效果: 技術分享圖片

從JSON中讀取數據追加到HTML中