我在和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天的时间来寻找解决方案。请帮帮我。
发布于 2022-01-23 20:44:02
https://stackoverflow.com/questions/70249581
复制相似问题