无法将字典发送到 RabbitMQ(不可散列类型:'slice')
Unable to send a dictionary to RabbitMQ (unhashable type: 'slice')
我想以字典格式向 RabbitMQ 发送消息:
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。
我该怎么做?或者还有其他选择吗?
根据the documentation,body
应该是一个字符串。
你可以试试body=json.dumps(my_msg)
您需要将字典序列化为字符串并通过 RabbitMQ 发送它们。
见this question
我想以字典格式向 RabbitMQ 发送消息:
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。
我该怎么做?或者还有其他选择吗?
根据the documentation,body
应该是一个字符串。
你可以试试body=json.dumps(my_msg)
您需要将字典序列化为字符串并通过 RabbitMQ 发送它们。
见this question