在html页面中展示JSON

背景:
有时候我们需要将json数据直接显示在页面上(比如在做一个接口测试的项目,需要将接口返回的结果直接展示),但是如果直接显示字符串,不方便查看。需要格式化一下。

解决方案:
其实JSON.stringify本身就可以将JSON格式化,具体的用法是:

JSON.stringify(res, null, 2); //res是要JSON化的对象,2是spacing

如果想要效果更好看,还要加上格式化的代码和样式:

js代码:

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>‘;
    });
}

样式代码:

<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; }
</style>

html代码:

<pre id="result">

</pre>

调用代码:

$(‘#result‘).html(syntaxHighlight(res));

效果:

时间: 2024-12-29 06:31:09

在html页面中展示JSON的相关文章

【iOS】在页面中展示gif动图

1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after loading the view. 5 6 //1:使用第三方库 7 NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"moe" ofType:@"gif"]]; 8 GifVi

在JSP页面中输出JSON格式数据

JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.htmlJAR包下载地址: http://sourceforge.net/projects/json-taglib/files/latest/download 使用方法:1.下载json-taglib.jar,将其放到WEB-INF/lib目录2.在jsp页面中做如下声明:<%@ taglib prefix=&qu

html页面展示Json样式

一般有些做后台数据查询,要把后台返回json数据展示到页面上,如果需要展示样式更清晰.直观.一目了然,就要用到html+css+js实现这个小功能 一.css代码 pre {outline: 1px solid #ccc; } .string { color: green; } .number { color: darkorange; } .boolean { color: blue; } .null { color: magenta; } .key { color: red; } 二.html

IE8中页面接收后台json字符串乱码问题

今天碰到一个IE8的乱码问题,在后台我用jsonObject对字符串数组进行了转化,在页面中接收到的不是json字符串数组了,而是中文乱码,在ie的后续版本中,以及谷歌中都是没有问题的,很奇怪,,debug了一下,发现前台页面js中一接收到后台的字符串就是乱码,查了很多资料,说是ie8内置的stringify和parse方法,自动对utf8进行了编码,也试了很多种,包括引入json2(可能是我没有引成功把),最后的解决方案是在后台设置页面的编码方式,response.setContentType

页面中 json 格式显示 数据

在页面中,有时候我们需要的不仅仅是将数据显示出来,而且要以以 json 的格式显示数据,如显示接口的时候 我们需要如下显示 这个时候,主要用到了 <pre> 标签 $.get("/chat", { "query": send_content, "ident": ident }, function (data) { var result = JSON.stringify(JSON.parse(data), null, 4); // 格式

Json数据如果作为配置文件比较难读懂,XML文件作为配置文件有先天的优势,容易读懂和配置,因此不考虑效率时,在页面中宁可用XML文件作为配置文件再用JS做一次转化把XML转成JSON使用

比如如下相对比较复杂的XML <myobjects> <!--object 1--> <myobject> <id>yourID_1</id> <name>your name</name> <description> <![CDATA[Merck Biologics Pilot Plant ]]> </description> <locations> <location

在jsp中同一页面中多个标签页之间切换数据展示

示例图片: 像这样的上面多个tab页下面也有多个tab页面,其实只要学会一个嵌套就可以了,现在就说一下简单的一个页面的多个tab页面的展示

紧接上篇,jQuery调用jsonp,并且在页面上展示

在上篇中提到了spring4.1+支持jsonp的调用,做了个例子,用来在页面上展示jsonp: (js写的丑了点,本人后端出生,前端大侠们轻拍~) 1 var Menu = function () { 2 3 return { 4 getMenuData: function (json) { 5 console.log(json); 6 var data = json.data; 7 var html = ""; 8 for (var i = 0 ; i < data.leng

浏览器中展示地图

我们在APP中开发中经常会内嵌地图展示某一具体位置,比如用地图展示某一个具体位置.以上海徐家汇为例,如下图所示: 如果我们直接使用浏览器打开的话,参考http://developer.baidu.com/map/uri-introweb.htm 如果我们已知经纬度(lat, lng),那么很方便,我们可以使用下面的方式来展示 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri