not JSON serializable 🐍 Python

TypeError: Object of type datetime is not JSON serializable

json.dumps() met a type it doesn’t know how to encode (datetime, Decimal, set, custom objects).

Seen on: Python

Meaning

The json module only handles dict, list, str, int, float, bool and None. Convert other types or pass a default= function.

Common causes

  • datetime/date objects
  • Decimal from databases
  • set instead of list
  • ORM model instances

⚡ Quick fix

  1. json.dumps(data, default=str) for quick conversions
  2. Convert explicitly (isoformat(), float(), list())
  3. Use the framework’s serializer (DRF, pydantic model_dump_json)

Detailed fix by platform

Python

  1. json.dumps(payload, default=lambda o: o.isoformat() if hasattr(o, "isoformat") else str(o))

How to diagnose

  1. Type — Which type is named?
  2. Field — Where in the data?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.