json

Модуль для работы с JSON.

import json

class ComplexEncoder(json.JSONEncoder):

    def default(self, z):
        if isinstance(z, complex):
            return (z.real, z.imag)
        else:
            super().default(self, z)

json.dumps(2 + 5j, cls=ComplexEncoder)
# '[2.0, 5.0]'

encoder = ComplexEncoder()
encoder.encode(3 + 6j)
# '[3.0, 6.0]'
json.dumps({'date': date(1987, 1, 28)}, default=)