Python 将pynacl中的公钥作为JSON对象发送

Python 将pynacl中的公钥作为JSON对象发送,python,json,sockets,nacl-cryptography,Python,Json,Sockets,Nacl Cryptography,我有一个服务器和客户端设置,当客户端连接时,它通过一个JSON对象发送一个用户名和一个公钥 我当前的代码: private_key = PrivateKey.generate() public_key = private_key.public_key payload = json.dumps({"username": username, "public_key": public_key}).encode('hex') 但我得到: TypeError: <nacl.public.Publi

我有一个服务器和客户端设置,当客户端连接时,它通过一个JSON对象发送一个用户名和一个公钥

我当前的代码:

private_key = PrivateKey.generate()
public_key = private_key.public_key
payload = json.dumps({"username": username, "public_key": public_key}).encode('hex')
但我得到:

TypeError: <nacl.public.PublicKey object at 0x7fc6ecff18d0> is not JSON serializable
TypeError:不可序列化JSON

有什么解决办法吗?

这可能有点晚了,但已经解释过了

例如,如果您希望将其作为Base64,您可以这样做

from nacl.encoding import Base64Encoder
print(public_key.encode(Base64Encoder).decode())