我想从mqtt主题和负载生成python dict
如果我收到这个有效载荷:85
来自本主题:数据/nb200s/05010027/cm
我想将其添加或更新到python dict中,如下所示:
pythonDict={}
pythonDict[“数据”][“nb200s”][“05010027”][“厘米”]=85
有什么好办法吗
太多了
以下是我现在拥有的,但它根本不起作用:
m_decode = ""
try:
m_decode = msg.payload.decode("utf-8", "ignore")
except Exception as e:
m_decode = msg.payload
topics = msg.topic.split("/")
dataStr = cache.get("mqttJson")
if dataStr:
data = json.loads(dataStr)
else:
data = dict()
tLen = len(topics)
if tLen == 1:
data[topics[0]] = m_decode
elif tLen == 2:
data[topics[0]][topics[1]] = m_decode
elif tLen == 3:
data[topics[0]][topics[1]][topics[2]] = m_decode
elif tLen == 4:
data[topics[0]][topics[1]][topics[2]][topics[3]] = m_decode
elif tLen == 5:
data[topics[0]][topics[1]][topics[2]][topics[3]][topics[4]] = m_decode
else:
return
cache.set(json.dumps(data, sort_keys=True))
目前没有回答
相关问题 更多 >
编程相关推荐