diff --git a/src/formatters/json_formatter.py b/src/formatters/json_formatter.py index a7d7ce4..524fa43 100644 --- a/src/formatters/json_formatter.py +++ b/src/formatters/json_formatter.py @@ -11,5 +11,8 @@ class JSONFormatter(BaseFormatter): def format(data: Any) -> str: """Format data as JSON.""" if hasattr(data, "to_dict"): - data = data.to_dict() - return json.dumps(data, indent=2, default=str) + return json.dumps(data.to_dict(), indent=2, default=str) + elif hasattr(data, "__dict__"): + return json.dumps(data.__dict__, indent=2, default=str) + else: + return json.dumps(data, indent=2, default=str)