2017-02-14 8 views
1

Я использую request модуль npm, и когда я делаю запрос, что я передаю объект с null ключ-значение, которое он отличает '', и это ошибка для меня.запрос null значение преобразовать в строку

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

Кто-нибудь может помочь мне сделать трюк?

+0

Я думаю, что если вы передадите '' undefined'' вместо '' null'', параметр не будет в запросе, поэтому вы можете сделать что-то вроде этого '' key: value || undefined'' – MatthieuLemoine

+0

Но у меня есть объект массива, и я не хочу перебирать массив и проверять все ключи. – Davide

+0

Можете ли вы предоставить образец кода с массивом? – MatthieuLemoine

ответ

0

Если вам необходимо изменить значения свойств объекта от null к undefined, вы можете использовать lodash:

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

Если у вас есть такие вещи, как:

[{key: null}] 

, то вам может понадобиться для итерации над массивом:

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

Возможно, вам также потребуется удалить ve ключи с null значения в целом.

Вы можете сделать это на месте:

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

Или вы можете создать новый массив и/или новые объекты.

+0

Проблема в том, что 'request' использует' querystring', поэтому значение 'null' будет' '' '. Я ищу querystring из nodejs, но я ничего не нашел :( – Davide

 Смежные вопросы

  • Нет связанных вопросов^_^