Error: Object of type bytes is not JSON serializable
时间: 2024-04-12 10:28:07 浏览: 159
这个错误表示尝试将字节对象(bytes)序列化为JSON格式时出现了问题。websocket-client库默认情况下将消息作为字节对象传递,而JSON序列化只支持字符串对象。
要解决这个问题,你可以在接收到消息后将字节对象转换为字符串。修改`on_message`回调函数如下:
```python
import json
def on_message(ws, message):
message = message.decode("utf-8") # 将字节对象转换为字符串
data = json.loads(message) # 将字符串解析为JSON对象
print(f"Received message: {data}")
```
在这个修改后的代码中,我们首先使用`decode`方法将字节对象转换为字符串,然后使用`json.loads`方法将字符串解析为JSON对象。现在你应该能够正确地处理接收到的消息并序列化为JSON格式。
如果你的消息不是有效的JSON格式,你可能需要根据实际情况进行适当的处理。另外,确保所接收到的消息是以UTF-8编码的字节对象,如果不是,你可能需要使用其他编码进行解码。
阅读全文