This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.0.
JSON Utilities - kombu.utils.json
¶
JSON Serialization Utilities.
- class kombu.utils.json.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶
Kombu custom json encoder.
- default(o, dates=(<class 'datetime.datetime'>, <class 'datetime.date'>), times=(<class 'datetime.time'>, ), textual=(<class 'decimal.Decimal'>, <class 'uuid.UUID'>, <class 'django.utils.functional.Promise'>), isinstance=<built-in function isinstance>, datetime=<class 'datetime.datetime'>, text_t=<class 'str'>)[source]¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)