html页面展示json数据并格式化的方法

所属分类: 网页制作 / HTML/Xhtml 阅读数: 925
收藏 0 赞 0 分享

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>

三、源代码上传

源代码下载地址

到此这篇关于html页面展示json数据并格式化的方法的文章就介绍到这了,更多相关html展示json并格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

更多精彩内容其他人还在看

网页制作中使用规范的HTML代码的几点

许多网站设计者最常犯的错误便是当其网页能够在IE下正常显示便认为其代码正确无误,甚至常看到有人在抱怨其网站排名不理想,到其网站简单看一下便可发现HTML代码中充斥各种各样的错误,在那样的代码基础上无论付出多少努力去优化网站结果都可能
收藏 0 赞 0 分享

关于超链接的一些问题

很高兴参加了这一期的薯片会,认识了几个朋友~~不料的却是今天我要来总结一下 很高兴参加了这一期的薯片会,认识了几个朋友~~不料的却是今天我要来总结一下 本次薯片会我们总共讨论了三个议题: A、 如何让“用
收藏 0 赞 0 分享

入门:HTML的基本标签和属性简单介绍

HTML是由标志和属性构成的,它们一起被用来告诉浏览器应该如何显示一页文档。标志用来引用一段文字或是一幅图片等文档部件,属性是标志的选项,在标志中修饰,如颜色,对齐方式,高度和宽度等。很多标志都成对出现,例如有 就有 前一个表示开始
收藏 0 赞 0 分享

总结XHTML代码常见的应用问题

一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用问题做一个总结,也算能使得大家能在沟通,合作上能形成默契。 一段时间以来,发现有
收藏 0 赞 0 分享

作用相似html标记:strong与em、q、cite、blockquote

在XHTML标签中有一些标签的作用是相似的,当然这里的相似是指语义相似,以至于很多人都不清楚这些相似的标签如何使用,那么今天的主题就是分解相似的标签,明确各个标签的用途。在前面我们已经讲过了strong与em的区别。除了strong与em之外还有
收藏 0 赞 0 分享

html 基底网址标记

它的作用就是定一个全局的样式。 那你后面的相对路径会以这个为基准: <img src="logo.gif" /> 会变成 <img src="http://www.jb51.net/logo.gif" /> 所
收藏 0 赞 0 分享

GET POST 区别详解

1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&&rdquo
收藏 0 赞 0 分享

圆角矩形的html+css实现代码

闲来无事,突然又想起了圆角矩形的实现。不过这个话题大家已经谈了太长时间了。各种各样的实现方案在网上都可以看到。这里仅仅是记录一下个人认为比较好的一个。这个方案不使用任何图片,是纯html+css实现。 css代码=================================
收藏 0 赞 0 分享

HTML title 属性换行的办法

前两天在写程序的时候,想给提示信息(TITLE)换行显示。用的'n < BR >' 都不行。 最后直接来个回车居然了得。 网上搜了一下。 解决的方法有两种: 1.将title属性分成几行来写,例如: <a href=#" title=&quo
收藏 0 赞 0 分享

UTF-8和GB2312网页编码

最近有好多学生问我网页的编码问题,gb2312和utf-8编码有什么区别呢?今天总结下。 最近有好多学生问我网页的编码问题,gb2312和utf-8编码有什么区别呢?今天总结下:   不知道大家在做页面的时候会不会遇到样式定义不生
收藏 0 赞 0 分享
查看更多