2016-02-04 83 views
1

我想要一個的messge發送到RabbitMQ的詞典中的格式:無法送字典的RabbitMQ(unhashable類型: '片')

import pika 

# .... 
my_msg = {} 
my_msg["a"] = 1 
my_msg["a"]["b"] = 2 
channel.basic_publish(exchange="", routing_key="some_key", body=my_msg) 

而一個錯誤,我得到:

TypeError: unhashable type: 'slice' 

請注意,我有大量的my_msg,他們每個人都有幾個鍵,所以我需要以某種方式能夠發送一個列表字典到RabbitMQ。

我該怎麼做?或者還有其他選擇嗎?

回答

2

需要序列您辭典成字符串,並將它們發送的RabbitMQ。

請參閱this question

1

根據the documentation,body應該是一個字符串。

你可以嘗試body=json.dumps(my_msg)

相關問題