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

所属分类: 网页制作 / HTML/Xhtml 阅读数: 904
收藏 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 a 链接标签title属性换行鼠标悬停提示内容的换行效果

a链接标签内title属性鼠标悬停提示内容有换行效果,该怎么实现呢?下面由两种不错的方法,大家不妨参考下,希望对大家有所帮助
收藏 0 赞 0 分享

在HTML中引入CSS的几种方式介绍

在HTML中,引入CSS的方法主要有行内式、内嵌式、导入式和链接式,下面针对这几种不同的引入方式给予了使用建议,比较迷惑的朋友可以参考下
收藏 0 赞 0 分享

html area图片热点的使用介绍附相关属性一览表

area标记主要用于图像地图,通过该标记可以在图像地图中设定作用区域(又称为热点),当用户的鼠标移到指定的作用区域点击时,会自动链接到预先设定好的页面,具体使用如下,不会的朋友可以参考下
收藏 0 赞 0 分享

关于label和span设置width无效问题解决方法

大家可能不知道默认情况下label、span 设置width 是无效的,只有当display:block时,我们所设置的width才有效果,下面有个不错的示例,大家可以感受下
收藏 0 赞 0 分享

通过href简单实现点击a链接跳到页面中指定的地方

当点击a标签后,要使其跳到页面里面相应的地方,方法很简单,a标签里面href属性便可轻松做到,将href中的内容和你要跳到这个区域的id同名即可,需要的朋友可以参考下
收藏 0 赞 0 分享

HTML checkbox 点击说明文字即可选择/取消勾选状态

由于checkbox比较小用户操作起来不是很方便,下面就为大家实现下让用户点击说明文字时即可实现 选择/勾选 checkbox,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

按回车表单自动提交问题意外发现

在name输入框中 按回车时,表单就会提交。而且表单中没有submit按钮的,经搜索发现如果表单中只有一个文本框,那么按回车时,就会提交表单,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

html中块注释的使用详细介绍

因为IE各版本的浏览器对我们制作的WEB标准的页面解释不一样,具体就是对CSS的解释不同,我们为了兼容这些,可运用条件注释来各自定义,最终达到兼容的目的。块注释的使用感兴趣的朋友可以参考下
收藏 0 赞 0 分享

HTML超出文本显示省略号...通过text-overflow实现

HTML超出文本显示省略号在一些新闻列表中还是比较常见的一种做法,其实很简单通过text-overflow便可实现,有需要的朋友可以参考下本文
收藏 0 赞 0 分享

DIV常用属性大全自己整理

div布局过程中会经常用到一些属性,本文整理了一些常用的和布局相关的属性,有需要的朋友可以参考下,希望对大家熟悉div常用属性有所帮助
收藏 0 赞 0 分享
查看更多