Если объект недопустим в формате 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;