html页面格式化输出js对象

来源:互联网 发布:微软云计算认证考试 编辑:程序博客网 时间:2024/05/16 01:20

前端开发中,有时需要在html页面格式化输出js对象(服务器响应的json结果等)

var toDisplayInHtml = {    a: 0,    b: 'haha',    result: {        success: true,        message: 'ok',        array: [1, 2],        obj: {            d: 12        }    }};// 将这个对象在html显示成{    "a": 0,    "b": "haha",    "result": {        "success": true,        "message": "ok",        "array": [            1,            2        ],        "obj": {            "d": 12        }    }}

可以这样做:

var objStr = JSON.stringify(toDisplayInHtml, null, 4);

通过指定JSON.stringify()函数的第三个参数,可以控制对象序列化后的字符串的缩进。如果此参数是数值型,代表每层缩进字符数,最大是10(超过10时自动显示10个),同时此参数也可以是字符串。

此时,我们只完成了第一步,即将一个对象按照指定缩进序列化,要想在html上显示需要将换行符和空格进行转义:

var html = objStr.replace(/\n/g, '<br>').replace(/\s/g, ' ');

这里简单替换下换行和空白字符,注意要先替换换行,这样就可以在html上输出了。