How to make a class JSON serializable

Here is a simple solution for a simple feature:

.toJSON() Method

Instead of a JSON serializable class, implement a serializer method:

import json

class Object:
    def toJSON(self):
        return json.dumps(self, default=lambda o: o.__dict__, 
            sort_keys=True, indent=4)

So you just call it to serialize:

me = Object() = "Onur"
me.age = 35 = Object() = "Apollo"


will output:

    "age": 35,
    "dog": {
        "name": "Apollo"
    "name": "Onur"

Leave a Comment