html页面格式化输出js对象

前端开发中,有时需要在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, '
').replace(/\s/g, ' ');

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

你可能感兴趣的:(html页面格式化输出js对象)