是否有用于将 JSON 模式转换为 Python 类定义的 Python 库,类似于 jsonschema2pojo -- https://github.com/joelittlejohn/jsonschema2pojo -- 对于 Java?
最佳答案
到目前为止,我能找到的最接近的是 warlock ,宣传此工作流程:
构建您的架构
>>> schema = {
'name': 'Country',
'properties': {
'name': {'type': 'string'},
'abbreviation': {'type': 'string'},
},
'additionalProperties': False,
}
创建模型
>>> import warlock
>>> Country = warlock.model_factory(schema)
使用您的模型创建对象
>>> sweden = Country(name='Sweden', abbreviation='SE')
然而,这并不那么容易。 Warlock 生产的元素缺乏很多内省(introspection)的好东西。如果它在初始化时支持嵌套的字典,我就无法弄清楚如何让它们工作。
为了提供一点背景知识,我正在研究的问题是如何获取 Chrome's JSONSchema API并生成请求生成器和响应处理程序树。 Warlock 似乎并不太离谱,唯一的缺点是 Python 中的元类不能真正转化为“代码”。
要查找的其他有用模块:
- jsonschema -(术士建立在其之上)
- valideer - 类似于 jsonschema 但名称更差。
- bunch - 一个有趣的结构构建器,介于 a dotdict 之间和 construct
如果您最终为此找到了一个很好的一站式解决方案,请跟进您的问题 - 我很乐意找到一个。我遍历了 github、pypi、googlecode、sourceforge 等。只是找不到任何真正性感的东西。
由于缺少任何预制解决方案,我可能会自己与术士拼凑一些东西。所以如果我打败了你,我会更新我的答案。 :p
关于python - 将 JSON 模式转换为 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891404/