Если объект недопустим в формате json - переслать содержимое переслать содержимое в любом случае - NODEJS

В настоящее время я пересылаю сигналы Cloudwatch для ослабления с помощью лямбда-функции nodejs, которую я обнаружил на github, однако, когда она получает настраиваемое предупреждение от одного из центров обработки данных наших клиентов, строка не в формате JSON, поэтому она не будет печатать предупреждение.

Я смотрю на переписывание функции handleCatchAll(), чтобы обработать строку и просто переслать ее, чтобы ослабить в ее текущем формате, но у меня есть проблемы, идентифицирующие объект.

Ниже приведен код, который я пытаюсь отредактировать. Мне нужно написать оператор if, который будет идентифицировать объект, скажем, "если JSON.stringify завершится неудачно, затем обработать сообщение без JSON.stringify и ввести его значение в" description "".

var description = ""

if ()
{
  else if () 
  {
    for(key in message) {

        var renderedMessage = typeof message[key] === 'object'
                            ? JSON.stringify(message[key])
                            : message[key]

        description = description + "\n" + key + ": " + renderedMessage
    }
  }
}

1 ответ

Этот сценарий можно использовать для преобразования ввода текста в json, если текст является допустимым объектом JSON, или же сохранить исходный текст.

const isJSON = str => {
    try {
        return (JSON.parse(str) && !!str);
    } catch (e) {
        return false;
    }
}
const regulizeRequestBody = body => isJSON(body) ? JSON.parse(body) : body;
Другие вопросы по тегам