当前位置:   article > 正文

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

json.loads(message.payload.decode())
  • 起因是因为 订阅的时候,获取到的 MQTT 信息时,第一条信息好像是连接信息,所以需要过滤他。

  • 接收到的数据如下

    991711-20180420103652610-709636765.png

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

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号