2017-02-14 108 views
1

我使用的是request npm模塊,當我發出請求時,我將對象傳遞給null鍵值,它將轉換爲'',這對我來說是個錯誤。請求空值轉換爲字符串

request({ 
    method: "POST", 
    url: "....", 
    form: {key: null}, 
    json: true 
}, callbackOnSuccess); 

有人可以幫助我做到這一點?

+0

我認爲如果你通過'undefined''而不是''null''參數將不會在請求中,所以你可以這樣做''key:value || undefined'' – MatthieuLemoine

+0

但我有數組的對象,我不想迭代數組並檢查所有鍵。 – Davide

+0

你能提供一個數組的代碼示例嗎? – MatthieuLemoine

回答

0

如果你需要對象屬性的值更改從nullundefined,您可以使用lodash:

var newObject = _.mapValues(object, value => 
    value === null ? undefined : value); 

如果你有事情,如:

[{key: null}] 

,那麼你可能還需要遍歷在陣列上:

var newAray = _.map(array, object => 
    _.mapValues(object, value => 
     value === null ? undefined : value)); 

您可能還需要重新完全取值爲null

你可以做到很到位:

array.forEach(object => Object.keys(object).forEach(key => { 
    if (object[key] === null) delete object[key]; 
})); 

或者你可以創建一個新的陣列和/或新的對象。

+0

問題是'request'使用'querystring',所以'null'的值將會是''''。我正在尋找nodejs的查詢字符串,但我沒有發現任何內容:( – Davide