需求是:json字符串,在页面上格式化显示
1. html先加一个pre标签
<pre id="json"></pre>
2. js代码如下
$('#json').html(syntaxHighlight(json));
// 方法实现
function syntaxHighlight(json) {
if (typeof json != 'string') {
json = JSON.stringify(json, undefined, 2); //返回要JSON化的对象,2是spacing
}
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 style="color: green;">' + match + '</span>';
}
);
}
3.最后的页面显示效果
参考链接: