arthurai.core.util.NumpyEncoder#
- class arthurai.core.util.NumpyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)#
Bases:
json.encoder.JSONEncoder
Special json encoder for numpy types
Methods
Converts the given object from a numpy data type to a python data type, if the object is already a python data type it is returned
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).Return a JSON string representation of a Python data structure.
Encode the given object and yield each string representation as available.
Attributes
item_separator
key_separator
- static convert_value(obj)#
Converts the given object from a numpy data type to a python data type, if the object is already a python data type it is returned
- Parameters
obj – object to convert
- Returns
python data type version of the object
- default(o)#
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)
- encode(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(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)