使用 attrs 将 JSON 转换为 Python 类
Using attrs to turn JSONs into Python classes
我想知道是否可以使用 attrs 库将嵌套的 JSON 转换为 Python class 实例,以便我可以访问 JSON 中的属性=26=] 通过点符号 (object.attribute.nested_attribute
)。
我的 JSONs 有一个固定的模式,我可以手动为该模式定义 classes,但我不确定是否可以将 JSON 转换为嵌套的 class 结构,而不必单独实例化每个嵌套对象。我基本上是在寻找一个 fromdict()
函数,该函数知道(基于键)哪个 class 将 JSON 对象变成。
(我也知道还有其他构建 'DotDicts' 的方法,但这些方法对我来说似乎总是有点老套,可能需要彻底测试以验证它们是否正常工作。)
attrs wiki目前有两个序列化库:
cattrs 由 attrs 最多产的贡献者之一维护。
我知道有些人也提到与其他系统的集成。在这一点上,attrs 不太可能发展自己的解决方案,因为外部开发的看起来很不错。
我想知道是否可以使用 attrs 库将嵌套的 JSON 转换为 Python class 实例,以便我可以访问 JSON 中的属性=26=] 通过点符号 (object.attribute.nested_attribute
)。
我的 JSONs 有一个固定的模式,我可以手动为该模式定义 classes,但我不确定是否可以将 JSON 转换为嵌套的 class 结构,而不必单独实例化每个嵌套对象。我基本上是在寻找一个 fromdict()
函数,该函数知道(基于键)哪个 class 将 JSON 对象变成。
(我也知道还有其他构建 'DotDicts' 的方法,但这些方法对我来说似乎总是有点老套,可能需要彻底测试以验证它们是否正常工作。)
attrs wiki目前有两个序列化库:
cattrs 由 attrs 最多产的贡献者之一维护。
我知道有些人也提到与其他系统的集成。在这一点上,attrs 不太可能发展自己的解决方案,因为外部开发的看起来很不错。