🔧 Error Fixes
· 1 min read

Python TypeError: Object Is Not JSON Serializable — How to Fix It


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
📘