(1) 僅僅將指定屬性對(duì)應(yīng)的值序列化成字符串:
var filter = {name: 'Jerry', sex: 'male', age: '10'};var jsonStr4 = JSON.stringify(filter, ['name']);console.log(jsonStr4);
想?yún)⑴c序列化的參數(shù)名通過(guò)JSON.stringify方法的第二個(gè)參數(shù)傳入。
上面例子中,只有name字段及對(duì)應(yīng)的值參與了序列化,輸出如下:
(2) 序列化時(shí),還可以編寫函數(shù),實(shí)現(xiàn)自定義序列化邏輯:
var obj = {name: 'Jerry', sex: 'male', age: '40'};var jsonStr5 = JSON.stringify(obj, function(key, value) { if(key === 'name') { return 'my name is: ' + value; } else if( key === 'sex'){ // do not return, discard this attribute } else return value;});
輸出:
name屬性的值通過(guò)自定義函數(shù)實(shí)現(xiàn),前面加上了前綴。sex屬性被丟棄,age屬性保持不變。
(3) 序列化時(shí)增加縮進(jìn),讓輸出的字符串更便于閱讀
var obj6 = {name: 'Jerry', sex: 'male', age: '40'};var jsonStr6 = JSON.stringify(obj6, null, 5);console.log(jsonStr6);
輸出:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。