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

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

  • 接收到的数据如下

    991711-20180420103652610-709636765.png

  • 必须要过滤这个 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 的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值