Pro tip: `json.JSONEncoder` subclassing!
Override the `default` method to handle your custom objects properly. Way cleaner than hacking it with `default=str`.
```python
class CustomEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, YourCustomClass):
return obj.__dict__
return super().default(obj)
json.dumps(your_data, cls=CustomEncoder)
```
Override the `default` method to handle your custom objects properly. Way cleaner than hacking it with `default=str`.
```python
class CustomEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, YourCustomClass):
return obj.__dict__
return super().default(obj)
json.dumps(your_data, cls=CustomEncoder)
```
