我在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\"}]}"
我尝试使用加载和转储,但没有任何帮助。
答案 0 :(得分:0)
您可以在发布时双重转义消息,一次在json.dumps
收到消息时转发消息。从订户中删除额外内容:
def on_message(client, userdata, msg):
message = str(msg.payload)
if is_json(message):
jsonResponse=json.loads(message)
print jsonResponse