用jq,根据id评接标识获取json字符串。在调用方法格式化json字符串。得到html添加到pre
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<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>
</head>
<body>
<p id="data214" value="{"id":"6550E5203DA642A57993228EEF6D4914","tag":null,"publish_time":"1612688592749","first_time":"1612688594784","consumed_time":"1","next_consumed_time":"1612688654784","key":"0","ties":{"KEYS":"601FACD0384531A63D23761A","__BORNHOST":"101.80.229.32","__SHARDINGKEY":"0"}}"></p>
<a href="#" onclick="showJson(214)" data-toggle="modal" data-target="#myModal" class="btn btn-sm btn-primary"> 消息体</a>
<pre id="result"></pre>
<script>
function showJson(id) {
var json = $('#data'+id).attr('value');
var res = JSON.parse(json);
console.log(res)
$('#result').html(syntaxHighlight(res));
// $('#myModal').show();
}
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>';
});
}
</script>
</body>
</html>