diff --git a/pulsar-client-cpp/python/pulsar/schema/schema.py b/pulsar-client-cpp/python/pulsar/schema/schema.py index 91250a8492289..260d7b05ef6de 100644 --- a/pulsar-client-cpp/python/pulsar/schema/schema.py +++ b/pulsar-client-cpp/python/pulsar/schema/schema.py @@ -80,7 +80,7 @@ def __init__(self, record_cls): def encode(self, obj): self._validate_object_type(obj) - return json.dumps(obj.__dict__, indent=True).encode('utf-8') + return json.dumps(obj.__dict__, default=lambda o: o.__dict__, indent=True).encode('utf-8') def decode(self, data): return self._record_cls(**json.loads(data))