栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JavaScript的漂亮打印JSON

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JavaScript的漂亮打印JSON

漂亮打印是在中本地实现的

JSON.stringify()
。第三个参数启用漂亮的打印并设置要使用的间距:

var str = JSON.stringify(obj, null, 2); // spacing level = 2

如果需要语法高亮显示,则可以使用一些正则表达式魔术,例如:

function syntaxHighlight(json) {    if (typeof json != 'string') {         json = JSON.stringify(json, undefined, 2);    }    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 >' + match + '</span>';    });}

在这里查看操作:jsfiddle

或下面提供的完整代码段:

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 >' + 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));pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }.string { color: green; }.number { color: darkorange; }.boolean { color: blue; }.null { color: magenta; }.key { color: red; }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413657.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号