connexion.jsonifier

This module centralizes all functionality related to json encoding and decoding in Connexion.

Module Contents

Classes

JSONEncoder

The default Connexion JSON encoder. Handles extra types compared to the

Jsonifier

Central point to serialize and deserialize to/from JSon in Connexion.

class connexion.jsonifier.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)

Bases: json.JSONEncoder

The default Connexion JSON encoder. Handles extra types compared to the built-in json.JSONEncoder.

  • datetime.datetime and datetime.date are serialized to RFC 822 strings. This is the same as the HTTP date format.

  • uuid.UUID is serialized to a string.

item_separator = ,
key_separator = :
default(self, o)

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)
encode(self, o)

Return a JSON string representation of a Python data structure.

>>> from json.encoder import JSONEncoder
>>> JSONEncoder().encode({"foo": ["bar", "baz"]})
'{"foo": ["bar", "baz"]}'
iterencode(self, o, _one_shot=False)

Encode the given object and yield each string representation as available.

For example:

for chunk in JSONEncoder().iterencode(bigobject):
    mysocket.write(chunk)
class connexion.jsonifier.Jsonifier(json_=json, **kwargs)

Central point to serialize and deserialize to/from JSon in Connexion.

dumps(self, data, **kwargs)

Central point where JSON serialization happens inside Connexion.

loads(self, data)

Central point where JSON deserialization happens inside Connexion.