diff --git a/packages/components/nodes/utilities/IfElseFunction/IfElseFunction.ts b/packages/components/nodes/utilities/IfElseFunction/IfElseFunction.ts index 1c5c0b7d..1e61616c 100644 --- a/packages/components/nodes/utilities/IfElseFunction/IfElseFunction.ts +++ b/packages/components/nodes/utilities/IfElseFunction/IfElseFunction.ts @@ -101,12 +101,17 @@ class IfElseFunction_Utilities implements INode { // Some values might be a stringified JSON, parse it for (const key in inputVars) { - if (typeof inputVars[key] === 'string' && inputVars[key].startsWith('{') && inputVars[key].endsWith('}')) { - try { - inputVars[key] = JSON.parse(inputVars[key]) - } catch (e) { - continue + let value = inputVars[key] + if (typeof value === 'string') { + value = handleEscapeCharacters(value, true) + if (value.startsWith('{') && value.endsWith('}')) { + try { + value = JSON.parse(value) + } catch (e) { + // ignore + } } + inputVars[key] = value } } @@ -116,11 +121,7 @@ class IfElseFunction_Utilities implements INode { if (Object.keys(inputVars).length) { for (const item in inputVars) { - let value = inputVars[item] - if (typeof value === 'string') { - value = handleEscapeCharacters(value, true) - } - sandbox[`$${item}`] = value + sandbox[`$${item}`] = inputVars[item] } }