2017-04-26 4 views
0

PythonでMQTTでデータを受信する際に問題があります。JSONデータがMQTT Pythonで無効なフォーマットを受け取る

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

をし、別のスクリプトで受け取る:

は、私は1つのスクリプトから送信

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

公開時に1回、受信時に1回、json.dumpsでメッセージを二重エスケープします。加入者から余分なものを削除する:

def on_message(client, userdata, msg): 
    message = str(msg.payload) 
    if is_json(message): 
     jsonResponse=json.loads(message) 
     print jsonResponse 
関連する問題