2016-06-07 40 views
1

我有一個名爲users的Object數組。 此數組中的對象的格式如下所示:將對象數組stringify到JSON選擇性

var userExample = {pub:{name:'John', id:'100'}, priv:{location:'NYC', phone:'000000'}}; 

作爲RESTful服務,客戶機可以請求所有用戶的信息。 顯然我只是想向他們發送公共信息。 所以我想通過按鍵選擇序列化我的數據(私法鍵將被忽略)

這裏是我的代碼片段:

var users = []; 
function censor(key, value) { 
    if (key == priv) { 
    return undefined; 
    } 
    return value; 
} 

app.get('/listUsers', function(req, res){ 
    res.end(JSON.stringify(users, censor)); 
}); 

當我運行這些代碼,發生錯誤:

ReferenceError: priv is not defined

我是Javascript初學者,請幫忙。

回答

1

更改priv"priv"

但是你的方法很危險。在類似的情況下,我通常會創建一個新的對象來導出,並且我明確地複製了應該導出的屬性,這樣就不會有未來數據結構更改泄漏的風險。白名單總是比黑名單更有前途。

+0

謝謝,你是對的。並再次感謝您的建議,我會嘗試這種方式。 – Ray