Я работаю в программе node-red и использую узел OPCUA, который возвращает в полезной нагрузке массив объектов.
Мне нужно получить некоторые переменные объектов, например, nodeId элемента; и я пытаюсь использовать следующий формат:
var newMsg = { payload: msg.payload[0].item.nodeId };
return newMsg;
Но это не работает. Я вижу ошибку «Ошибка: недопустимый тип идентификатора в NodeId: 2» Я пробовал много форматов, но не нашел правильного пути.
Знаете ли вы, как я мог получить данные массива объектов?
Спасибо.
Если мне нужно получить значение массива, правильный ли следующий формат?
msg.payload[0].item.nodeId
Какую версию node-red вы используете?
В более новых версиях Node-RED (после версии 0.19 iirc) вы можете получить путь к значению из боковой панели отладки, наведя указатель мыши на появившуюся опцию и щелкнув ее.
Значок >_
копирует путь к объекту (относительно выбора в узле отладки, поэтому обычно msg.payload
). В примере payload[0].foo
.
Это можно использовать в функциональном узле как msg.payload[0].foo
identifierType
недействителен. Но поскольку вы просто хотите использовать программу, это, скорее всего, вам не поможет. Вы можете попытаться получить другие значения и на более ранних уровнях, чтобы увидеть, не работает ли это.