2017-04-18 79 views
0
"{"values":[{"key": "id", "value": 171},{"key": "counter", "value": 0},{"key": "temperature", "value": 2561},{"key": "x_axis", "value": -223},{"key": "y_axis", "value": -256},{"key": "z_axis", "value": 246},{"key": "battery", "value": 2817}]}" 

我有一个设备(zolertia Z1)使用MQTT和我使用的节点-RED功能来提取值的JSON数据发送,但我不断收到错误,我的代码提取物价值

return {values: msg.values.temperature}; 

错误:

function : (error) 
"TypeError: Cannot read property 'temperature' of undefined" 

回答

0

从MQTT节点的输出是一个字符串不是JSON对象。

enter image description here

运行通过JSON节点的输出将它传递给你的函数节点之前的字符串转换成JSON对象。

而且该对象将被设置为msg.payload.values没有msg.values

+0

我加入JSON,但我不断收到同样的错误 'code'“类型错误:无法读取的未定义的属性‘温度’” 我不知道从功能的代码... –

+1

你不会与语法,你将不得不遍历'msg.payload.values'阵列和检查每个'key',看它是否符合'temperature' – hardillb