TypeError: Object of type datetime is not JSON serializable
You’re trying to convert a Python object to JSON that json.dumps() doesn’t know how to handle.
Fix 1: Convert to a serializable type
import json
from datetime import datetime
data = {"created": datetime.now()}
# ❌ datetime isn't serializable
json.dumps(data)
# ✅ Convert to string first
data = {"created": datetime.now().isoformat()}
json.dumps(data)
Fix 2: Custom encoder
class CustomEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.isoformat()
if isinstance(obj, set):
return list(obj)
return super().default(obj)
json.dumps(data, cls=CustomEncoder)
Fix 3: Use default parameter
json.dumps(data, default=str) # Converts everything to string