import json from enum import Enum from dataclasses import dataclass, asdict from typing import Any @dataclass class StatusItem: code: int msg: str class Status(Enum): SUCCESS = StatusItem(200000, "success") NO_AUTH = StatusItem(300001, "No authorization!") class EnumEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, Status): return asdict(obj.value) return json.JSONEncoder.default(self, obj) @dataclass class Response: status: Status data: Any def json(self) -> str: return json.dumps(asdict(self), cls=EnumEncoder) print(Response(Status.SUCCESS, {"age": 100}).json()) 之后的所有响应都直接调用`json()`方法即可。