我在玩 NodeRed。带有 Tasmota 的 Esp32 发送 mqtt 消息,如下例所示:
{
"Time": "2021-12-05T20:46:40",
"MJ_HT_V1391ef1": {
"mac": "582d34684ef1",
"Temperature": 22.6,
"Humidity": 50.9,
"DewPoint": 11.9,
"Battery": 100,
"RSSI": -92
},
"MJ_HT_V1385877": {
"mac": "582d31385557",
"Temperature": 22,
"Humidity": 53.3,
"DewPoint": 12,
"Battery": 85,
"RSSI": -86
}
}
请!如何在不知道它们的情况下获得名称 MJ_HT_V1391ef1 和 MJ_HT_V1385877 并且 json 可以有更多相似的对象,然后只有两个。我还需要获取 MJ_HT_V1391ef1.mac 或 MJ_HT_V1391ef1.Temperature 等信息。
如果我使用类似的东西
var zprava=msg.payload;
msg.payload=zprava["MJ_HT_V1391ef1"]["Temperature"];
它有效,我得到一个值 22.6。但我需要做得更有活力。一些将通过json的循环?
我花了将近 5 天的时间寻找解决方案。请帮我。