🐛 fix DataclassEncoder bug and add test case

This commit is contained in:
AkiraXie
2022-02-17 15:06:26 +08:00
parent 9dd989c627
commit c48ddaf0a2
3 changed files with 29 additions and 1 deletions

View File

@ -145,7 +145,7 @@ class DataclassEncoder(json.JSONEncoder):
@overrides(json.JSONEncoder)
def default(self, o):
if dataclasses.is_dataclass(o):
return dataclasses.asdict(o)
return {f.name: getattr(o, f.name) for f in dataclasses.fields(o)}
return super().default(o)