如何提取从 http 请求中获取的 msg 对象?
How to extract a msg object which I'm getting from a http request?
我还是个新手。我所做的是,我尝试发送 http
请求,并尝试通过我的自定义节点传递以下响应。消息对象如下所示:
[
{
"userId": 1,
"deviceId": 2,
"type": "SM",
"eventName": "TemparatureChanged",
"stateName": "update",
"eventParameters": [
{
"name": "temparature",
"type": "Double",
"value": 35.01
}
]
}
]
如何从上面的 eventParameters 数组中检索 value?
我在函数节点中尝试了以下内容:
var data = msg.eventParameters[0].value;
return data;
而我只想通过调试节点打印上面的属性。我的调试节点包含 msg.payload
,我也尝试将它作为一个完整的 msg 对象,但仍然没有成功。
在我的自定义节点 (IOT-Input) js
文件中我得到了这个:
this.on('input', function (msg) {
node.warn("I saw a payload: "+msg.payload);
// in this example just send it straight on... should process it here really
node.send(msg);
});
我的流程是这样的:
我哪里错了?任何帮助都将不胜感激!
msg
是一个数组,所以它应该是:
var data = msg[0].eventParameters[0].value;
你没有在问题的顶部说你从哪里得到你的示例消息,但如果它可以从你的节点中的 console.log
,那么你所拥有的是 msg.payload
而不是msg
.
所以你应该使用类似的东西:
var data = msg.payload[0].eventParameters[0].value;
而且你不应该只是从函数节点返回 data
,它应该是一个 msg
对象,像这样:
var data = msg.payload[0].eventParameters[0].value;
msg.payload = data;
return msg.payload;
我还是个新手。我所做的是,我尝试发送 http
请求,并尝试通过我的自定义节点传递以下响应。消息对象如下所示:
[
{
"userId": 1,
"deviceId": 2,
"type": "SM",
"eventName": "TemparatureChanged",
"stateName": "update",
"eventParameters": [
{
"name": "temparature",
"type": "Double",
"value": 35.01
}
]
}
]
如何从上面的 eventParameters 数组中检索 value?
我在函数节点中尝试了以下内容:
var data = msg.eventParameters[0].value;
return data;
而我只想通过调试节点打印上面的属性。我的调试节点包含 msg.payload
,我也尝试将它作为一个完整的 msg 对象,但仍然没有成功。
在我的自定义节点 (IOT-Input) js
文件中我得到了这个:
this.on('input', function (msg) {
node.warn("I saw a payload: "+msg.payload);
// in this example just send it straight on... should process it here really
node.send(msg);
});
我的流程是这样的:
我哪里错了?任何帮助都将不胜感激!
msg
是一个数组,所以它应该是:
var data = msg[0].eventParameters[0].value;
你没有在问题的顶部说你从哪里得到你的示例消息,但如果它可以从你的节点中的 console.log
,那么你所拥有的是 msg.payload
而不是msg
.
所以你应该使用类似的东西:
var data = msg.payload[0].eventParameters[0].value;
而且你不应该只是从函数节点返回 data
,它应该是一个 msg
对象,像这样:
var data = msg.payload[0].eventParameters[0].value;
msg.payload = data;
return msg.payload;