Python MQTT订阅获取发布信息字典过滤

时间:2023-03-09 00:13:30
Python MQTT订阅获取发布信息字典过滤
  • 起因是因为 订阅的时候,获取到的 MQTT 信息时,第一条信息好像是连接信息,所以需要过滤他。

  • 接收到的数据如下

    Python MQTT订阅获取发布信息字典过滤

  • 必须要过滤这个 name : 1 的字典,操作如下:

    def on_message(client, userdata, msg):
print(msg.topic+" " + ":" + str(msg.payload))
print(type(msg.payload))
print(json.loads(msg.payload.decode('utf8')))
print(type(json.loads(msg.payload.decode('utf8'))))
js_code = json.loads(msg.payload.decode('utf8'))
print(js_code); if "name" in js_code :
print(js_code["name"]);
elif "gateway_id" in js_code :
print(js_code["gateway_id"]);
print(js_code["funcode"]);
print(js_code["device_id"]);
print(js_code["value"]);
else :
print("dict error");
  • 在 Python3 里面,已经没有 dict.has_key 的操作,判断里面是否有这个 key ,所以只能用 if "name" in js_code 的方法