我正在尝试使用python创建一个简单的AMQP客户端。我复制了我在RabbitMQ网站上找到的代码:
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(callback,
queue='hello',
no_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
除非它总是打印出像[x]收到的消息'我的消息'。由于这个原因,我无法解析我的json消息。我该如何解决这个问题?
答案 0 :(得分:6)
您可以使用decode()将字符串转换为utf-8然后将其打印出来,例如
str = 'your str'
print(str.decode())
答案 1 :(得分:3)
除了添加到yichucai's correct answer之外,我发现您可以将decode()
方法直接添加到print中的body var中。像这样:
print(" [x] Received %r" % body.decode())