simpleml.persistables.serializing module¶
Module to define the classes that support serialization for all JSON columns
A lot of persistable subclasses try to persist objects that cannot be natively serialized in a database. This attempts to define a custom pattern to serialize them and subsequently deserialize on load
-
class
simpleml.persistables.serializing.
JSONSerializer
(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶ Bases:
json.encoder.JSONEncoder
-
default
(obj)[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)
-