It does allow dumping to/recovering from json, apologies if that isn't well documented.
Calling `x: str = json.dumps(MyClass(...).serialize())` will get you json you can recover to the original object, nested classes and custom types and all, with `MyClass.load(json.loads(x))`
Comments
going to shamelessly plug my own library here: https://github.com/mivanit/ZANJ
You can have nested dataclasses, as well as specify custom serializers/loaders for things which aren't natively supported by json.
Ah, but I need something JSON-based.
It does allow dumping to/recovering from json, apologies if that isn't well documented.
Calling `x: str = json.dumps(MyClass(...).serialize())` will get you json you can recover to the original object, nested classes and custom types and all, with `MyClass.load(json.loads(x))`