前端開(kāi)發(fā)中,有時(shí)需要在html頁(yè)面格式化輸出js對(duì)象(服務(wù)器響應(yīng)的json結(jié)果等)
var toDisplayInHtml = {
a: 0,
b: 'haha',
result: {
success: true,
message: 'ok',
array: [1, 2],
obj: {
d: 12
}
}
};
// 將這個(gè)對(duì)象在html顯示成
{
"a": 0,
"b": "haha",
"result": {
"success": true,
"message": "ok",
"array": [
1,
2
],
"obj": {
"d": 12
}
}
}
可以這樣做:
var objStr = JSON.stringify(toDisplayInHtml, null, 4);
通過(guò)指定JSON.stringify()函數(shù)的第三個(gè)參數(shù),可以控制對(duì)象序列化后的字符串的縮進(jìn)。如果此參數(shù)是數(shù)值型,代表每層縮進(jìn)字符數(shù),最大是10(超過(guò)10時(shí)自動(dòng)顯示10個(gè)),同時(shí)此參數(shù)也可以是字符串
此時(shí),我們只完成了第一步,即將一個(gè)對(duì)象按照指定縮進(jìn)序列化,要想在html上顯示需要將換行符和空格進(jìn)行轉(zhuǎn)義:
var html = objStr.replace(/\n/g, '<br>').replace(/\s/g, ' ');
這里簡(jiǎn)單替換下?lián)Q行和空白字符,注意要先替換換行,這樣就可以在html上輸出了