pytest_experiments.json_tools module

class TypeDispatchedJSONEncoder(*, skip_unknown_types=True, **kwargs)[source]

Bases: json.encoder.JSONEncoder

default(o: Any) Any[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)
json_deserializer(s: str) dict[source]

Deserialize an object from a JSON string.

json_serializer(obj: dict) str[source]

Serialize an object to a JSON string.

object_hook(obj: dict) dict[source]

Deserializes custom json objects.