This document describes the current stable version of Kombu (4.5). For development docs, go here.

JSON Utilities - kombu.utils.json

JSON Serialization Utilities.

class kombu.utils.json.DjangoPromise[source]

Dummy object.

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 'kombu.utils.json.DjangoPromise'>), 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 a TypeError).

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)
kombu.utils.json.dumps(s, _dumps=<function dumps>, cls=None, default_kwargs={}, **kwargs)[source]

Serialize object to json string.

kombu.utils.json.loads(s, _loads=<function loads>, decode_bytes=True)[source]

Deserialize json from string.