Proper Answer
In order to make your MyObject serializable, you need to implement a method that you can reference on dumps. For example:
class MyObject:
    #    ...
    #    MyObject has 3 properties: name (a string), number (an int), and parent (a MyObject)
    @staticmethod
    def serialize(obj):
        return {
            "name":   obj.name,
            "number": obj.number,
            "parent": obj.parent
        }
    #    ...
simplejson.dumps(myObjInstance, default=MyObject.serialize)
The cool thing is that dumps will, like every other JSON-serializable object, call the serialization method recursively. That is, obj.parent will get serialized as well, without any further action from you.
Golf'd Version
If all you want to do is 1-1 map instance variable names to their respective values, you can use some built-in Python magic. Whenever you want to serialize a more complex object (again, only using a 1-1 variable-value map), just call this line:
simplejson.dumps(anyObj, default=lambda obj: obj.__dict__)
For the given instance of MyObject, it will behave identically to the aforementioned serialize method.