背景:
有時(shí)候我們需要將json數(shù)據(jù)直接顯示在頁(yè)面上(比如在做一個(gè)接口測(cè)試的項(xiàng)目,需要將接口返回的結(jié)果直接展示),但是如果直接顯示字符串,不方便查看。需要格式化一下。
解決方案:
其實(shí)JSON.stringify本身就可以將JSON格式化,具體的用法是:
JSON.stringify(res, null, 2); //res是要JSON化的對(duì)象,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>
調(diào)用代碼:
$('#result').html(syntaxHighlight(res));
效果:
以上所述是小編給大家介紹的在html中顯示JSON數(shù)據(jù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
標(biāo)簽:北海 眉山 崇左 營(yíng)口 晉中 阜陽(yáng) 河池 青海
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在html中顯示JSON數(shù)據(jù)的方法》,本文關(guān)鍵詞 在,html,中,顯示,JSON,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。