Все зависит от того, с чего начинать msg.payload
. Если вход в узел функции является строкой, то msg.payload
будет строкой, и вы не можете просто добавить к ней произвольные свойства.
Если входные данные уже являются объектом, его можно расширить, но вам нужно создать промежуточные слои в объекте, прежде чем вы сможете добавить значение. например при условии следующего ввода msg.payload
:
{
foo: 25,
bar: 'testing'
}
Чтобы добавить Accel.x
, вам сначала нужно добавить ключ Accel
, прежде чем пытаться добавить значение к Accel.x
. С функциональным узлом вы бы сделали это так:
msg.payload.Accel = {};
msg.payload.Accel.x = 1;
msg.payload.Accel['y'] = 2;
return msg;
С узлом изменения это будет выглядеть примерно так, поскольку узел изменения добавит для вас пустые слои: