页面json 格式化+颜色高亮

Posted jwentest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面json 格式化+颜色高亮相关的知识,希望对你有一定的参考价值。

背景

应答为json,为了更好的展示在前端页面,需要对其格式化加颜色高亮

 

效果图

 

步骤

js中添加

function output(inp) {
    document.body.appendChild(document.createElement(\'pre\')).innerhtml = inp;
}

function syntaxHighlight(json) {
    json = json.replace(/&/g, \'&amp;\').replace(/</g, \'&lt;\').replace(/>/g, \'&gt;\');
    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>\';
    });
}

var obj = {a:1, \'b\':\'foo\', c:[false,\'false\',null, \'null\', {d:{e:1.3e5,f:\'1.3e5\'}}]};
var str = JSON.stringify(obj, undefined, 4);

output(str);
output(syntaxHighlight(str));

 

css中添加

pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }
.string { color: green; }
.number { color: darkorange; }
.boolean { color: blue; }
.null { color: magenta; }
.key { color: red; }

 

参考资料

https://stackoverflow.com/questions/4810841/how-can-i-pretty-print-json-using-javascript

以上是关于页面json 格式化+颜色高亮的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Json数据格式排版高亮插件json-viewer.js的使用

03代码格式化+高亮

json格式化高亮库jsonFormater

notepad++设置 高亮 标记颜色

python+selenium高亮显示正在操作的页面元素

python+selenium高亮显示正在操作的页面元素