I've got a big class in python, but I'll make it shorter:
class Server:
name = ""
discordId = 0
ownerId = 0
welcome_message = None
lang = "en"
And I also have an encoder function:
def encoder(cl):
if isinstance(cl, Server):
jsonList = {
"name": cl.name,
"discordId": cl.discordId,
"ownerId": cl.ownerId,
"welcome_message": cl.welcome_message,
"lang": cl.lang
}
return jsonList
But when I try to serialize it, I just cannot.
server = Server()
server.name = guild.name
server.discordId = guild.id
server.ownerId = guild.owner.id
server.lang = "en"
json.dumps(encoder(server))
I get this
Ignoring exception in on_guild_join
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 333, in _run_event
await coro(*args, **kwargs)
File "/home/runner/folder/bot.py", line 40, in on_guild_join
json.dumps(encoder(server))
File "/usr/lib/python3.8/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python3.8/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.8/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.8/json/encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type type is not JSON serializable
Is there anything I'm missing?