Как заменить JSON, используя JSON.parse reviver, когда условие выполнено

1

Я пытаюсь найти способ полностью заменить тело JSON при выполнении определенного условия, используя функцию reviver в Nodejs:

output = JSON.parse(d, reviver);
function reviver(key,value){
        if (condition){
            var mynewjson={'thisis':'whatidlike'};
            return mynewjson;    
        }
    }
console.log(output);

Но я получаю undefined как вывод последней команды. Я проверил документацию здесь https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse и попробовал пару вещей, но не нашел подходящего пути для достижения этой цели.

Теги:

1 ответ

2

Вы должны вернуть значение, если условие не выполнено

output = JSON.parse(d, reviver);

function reviver(key, value) {
  if (condition) {
    var mynewjson = {
      'thisis': 'whatidlike'
    };
    return mynewjson;
  }
  return value;
}

console.log(output);
  • 1
    Спасибо Сержу К. за редактирование
  • 0
    Привет @Serge спасибо за ваш ответ, но это не то, что я ищу .. делая это, я заменю только значение, при котором выполняется условие ... в то время как моя цель - вернуть совершенно новый json ({'thisis': 'whatidlike'}) вместо замены только текущего значения json, где выполняется условие. Надеюсь, это имеет смысл для вас. Спасибо
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню