将json模式转换为python类
json-schema-to-class的Python项目详细描述
json模式到类
将json模式转换为python类
安装
需要Python3.6+。
pip install json-schema-to-class
用法
例如,将tests/test_schema.json转换为python类:
# generate & highlight json-schema-to-class tests/test_schema.json --indent 2| pygmentize # or generate to file json-schema-to-class tests/test_schema.json -o tests/schema_build.py
获取tests/schema_build.py
如下:
fromtypingimportListclassWarmUp:def__init__(self,values:dict=None):values=valuesifvaluesisnotNoneelse{}self.start:float=values.get("start",0.0)self.steps:int=values.get("steps",0)classLrSchedulerConfig:def__init__(self,values:dict=None):values=valuesifvaluesisnotNoneelse{}self.lr_mode:str=values.get("lr_mode",'cos')self.base_lr:float=values.get("base_lr",None)self.target_lr:float=values.get("target_lr",0.0002)self.decay_factor:float=values.get("decay_factor",0.1)self.milestones:List[float]=values.get("milestones",[0.3,0.6,0.9])self.lr_decay:float=values.get("lr_decay",0.98)self.warm_up=WarmUp(values=values.get("warm_up"))classLrSchedulerConfigs:def__init__(self,values:list=None):values=valuesifvaluesisnotNoneelse[]self.items:List[LrSchedulerConfig]=[LrSchedulerConfig(values=value)forvalueinvalues]