Вот простое решение для простой функции:
.toJSON()
Метод Вместо сериализуемого класса JSON реализуйте метод сериализатора:
import json
class Object:
def toJSON(self):
return json.dumps(self, default=lambda o: o.__dict__,
sort_keys=True, indent=4)
Итак, вы просто вызываете его для сериализации:
me = Object()
me.name = "Onur"
me.age = 35
me.dog = Object()
me.dog.name = "Apollo"
print(me.toJSON())
выведет:
{
"age": 35,
"dog": {
"name": "Apollo"
},
"name": "Onur"
}