json数据在html页面展示并格式化
一、展现效果图
描述信息:
- key值全部采用红色标出,表示重要参数;
- value值采用不同颜色标出,数值类型的采用橘黄色,字符串采用绿色,布尔采用蓝色。。。
二、源代码展示
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <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; } .showinfo{ position: absolute; background-color: #eef1f8; width: 200px; padding: 5px; border-radius: 4px; border: 1px solid #ccc; display: none; } .showinfo pre{ padding: 5px; border: 1px solid #ccc; margin:0; } table,th,td{ border:1px solid blue; } </style> <script src="./js/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".show-rough").mouseover(function(){ var left = $(this).offset().left + $(this).width() +20;//计算div显示位置 var top = $(this).offset().top + 20; var _jsonDate = $.parseJSON($(this).text()); var showJson = syntaxHighlight(_jsonDate); $("#show-info").css({"left":left,"top":top}).show(); $("#show-pre").html(showJson); }); $(".show-rough").mouseout(function(){ $("#show-info").hide().html(); $("#show-pre").html(); }) }); //处理json数据,采用正则过滤出不同类型参数 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> </head> <body> <table> <thead> <tr> <th>姓名</th> <th>json数据</th> </tr> </thead> <tbody> <tr> <td>小三</td> <td class="show-rough">{ "name": "小三", "address":"北京路23号","age":16, "email": "123456@qq.com","Object":[{"职位":"经理"}],"del":[] }</td> </tr> <tr> <td>小四</td> <td class="show-rough">{ "name": "小四", "address":"上海路01号","age":27, "email": "222222@qq.com","Object":[],"del":[] }</td> </tr> </tbody> </table> <div id="show-info" class="showinfo"> <pre id="show-pre"> </pre> </div> </body> </html>
三、源代码上传
源代码下载地址
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“html页面展示json数据并格式化的方法”评论...
更新动态
2024年05月13日
2024年05月13日
- 选举日 Founders Day
- 剑与远征启程豹女角色介绍 豹女值得培养吗
- 歧路旅人大陆的霸者开局选哪条路 三支主线
- 鸣潮桃祁声骸推荐 声骸主副词条选什么好
- 星穹铁道2.2糖浆药水的故事怎么达成 糖浆药水的故事隐藏成就攻略
- 星穹铁道2.2黄金与机械表怎么达成 黄金与机械表成就攻略
- 星穹铁道2.2速度加快血糖升高怎么达成 速度加快血糖升高成就攻略
- 《传送门64》被取消后 作者正在制作新任天堂64游戏
- 《塞尔达传说:王国之泪》发售1周年!官方晒出贺图
- 《坦克世界》天蝎与其标志性风格一起上架特惠商城
- 张国荣1978-DAYDREAMIN[Polydor]【APE+CUE】
- ABC唱片《田纳西.尔尼福特.永远的田纳西.尼尔福特》HD德国版[WAV+CUE]
- 区瑞强1980-云外千峰(復黑王)(16bit-44.1kHz)FLAC
- 韩国球迷输不起!不满客队门将庆祝 扔瓶泄愤砸倒球员
- 斗鱼公告登热搜:电棍Otto辱骂Mlxg被封7天