3.1.2.14. opengate.serialization

3.1.2.14.1. Module Contents

3.1.2.14.1.1. Classes

GateJSONEncoder

Extensible JSON <http://json.org> encoder for Python data structures.

3.1.2.14.1.2. Functions

json_obj_hook(input)

Decodes a previously encoded numpy ndarray

dumps_json(*args, **kwargs)

loads_json(*args, **kwargs)

dump_json(*args, **kwargs)

load_json(*args, **kwargs)

class opengate.serialization.GateJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

Bases: json.JSONEncoder

Extensible JSON <http://json.org> encoder for Python data structures.

Supports the following objects and types by default:

Python

JSON

dict

object

list, tuple

array

str

string

int, float

number

True

true

False

false

None

null

To extend this to recognize other objects, subclass and implement a .default() method with another method that returns a serializable object for o if possible, otherwise it should call the superclass implementation (to raise TypeError).

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 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)
opengate.serialization.json_obj_hook(input)[source]

Decodes a previously encoded numpy ndarray with proper shape and dtype :param input: (dict) json encoded ndarray :return: (ndarray) if input was an encoded ndarray

opengate.serialization.dumps_json(*args, **kwargs)[source]
opengate.serialization.loads_json(*args, **kwargs)[source]
opengate.serialization.dump_json(*args, **kwargs)[source]
opengate.serialization.load_json(*args, **kwargs)[source]