从json红色节点中提取值

时间:2017-04-18 13:18:03

标签: json node-red

"{"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发送json数据,我在node-RED中使用一个函数来提取值,但我不断收到错误我的代码

return {values: msg.values.temperature};

错误:

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

1 个答案:

答案 0 :(得分:2)

MQTT节点的输出是String而不是JSON对象。

enter image description here

通过JSON节点运行输出,将字符串转换为JSON对象,然后再将其传递给函数节点。

此外,该对象将设置为msg.payload.values而不是msg.values