octoprint.util.json.serializing#
SerializableJsonEncoding
#
Bases: JsonEncoding
A JSON encoding that can serialize and deserialize objects, including additional
objects otherwise not serializable by the standard JSON encoder
bytesfrozendict.frozendictdatetime.datetimetime.struct_time
decode(dct)
classmethod
#
Recursively replace all instances of decodable types with their decoded values.
You'll want to have used class_encode() in your encoder to get this
to work properly.
encode(val)
classmethod
#
Recursively replace all instances of encodable types with their encoded
value. This is useful over the default= functionality of the JSON
encoder because JSON will not call default for tuples, lists, ints, etc:
https://docs.python.org/3/library/json.html#json.JSONEncoder
Cannot handle circular references.
class_encode(name: str, *params: Any) -> Dict[str, List]
#
Encode a class name and parameters into a serializable dict. You'll probably want to use this if you're going to set a custom decoder.
This stores the class names in a format inspired by the JSON-RPC spec at https://www.jsonrpc.org/specification_v1#a3.JSONClasshinting