Получение отдельных данных от объекта node-red?

Я работаю с узлом-красным, где я возвращаю объект из функции, как показано ниже...

{task1:"14124.44",task2:"23123.22",task3:"22323.22",_msgid:"33erewfddsfds"}

Из приведенного выше результата я хочу получить другое значение отдельно, например, например. "задание 1". Я пробовал разные вещи в другом функциональном блоке, например. msg.payload[0] или msg.payload['task1'], но не удалось.


person Hsn    schedule 02.05.2018    source источник
comment
Вы пробовали msg.task1 или msg['task1']?   -  person Always Sunny    schedule 02.05.2018
comment
Можете ли вы показать, где в вашем коде вы пытаетесь получить доступ к task1 и из какой переменной?   -  person Sébastien S.    schedule 02.05.2018


Ответы (1)


Учитывая, что образец, который вы предоставили, имеет поле _msgid, похоже, что данные находятся в корне объекта msg, поэтому вы не хотите искать в msg.payload

Итак, если вы находитесь в узле функции, вы хотите получить прямой доступ к именам полей:

var task1 = msg.task1
var task2 = msg.task2

Нотация [number] предназначена для доступа к элементам массива, а не к именованным полям, к которым можно получить доступ с помощью ['field name'].

person hardillb    schedule 02.05.2018