JSON数据在MQTT python上收到错误的格式

时间:2017-04-26 10:24:09

标签: python json mqtt

我在Python中通过MQTT接收数据时遇到问题。

我从一个脚本发送:

payload = '{"sensor":[{"name":"temp","value":"%s"}]}' % str(read_temp())
print payload
print is_json(payload) 
client.publish("xxxxx/xxxxx", json.dumps(payload))

并使用其他脚本接收:

def on_message(client, userdata, msg):
    message = str(msg.payload)
    if is_json(message): 
        jsonResponse=json.loads(json.dumps(message))
        print jsonResponse

输出:

"{\"sensor\":[{\"name\":\"temp\",\"value\":\"23.0\"}]}"

我尝试使用加载和转储,但没有任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以在发布时双重转义消息,一次在json.dumps收到消息时转发消息。从订户中删除额外内容:

def on_message(client, userdata, msg):
    message = str(msg.payload)
    if is_json(message): 
        jsonResponse=json.loads(message)
        print jsonResponse