kylie提供了json数据结构和python对象之间的映射。
kylie的Python项目详细描述
凯莉
kylie提供了json数据结构和python对象之间的映射。它 只要一点点魔法就能提供足够的能量 100%代码覆盖率。
功能
- 免费软件:BSD许可证
- 文档:https://kylie.readthedocs.org/
- 允许在模型和python字典键之间使用name mapping。
- 在序列化和反序列化对象时允许type conversion。
- 自动序列化/反序列化nested models。
- 不以任何方式绑定到json,而且对于MessagePack
- 支持Python 2.6+&3.3+
示例
classSpanishInquisitionModel(Model):inquisition_id=Attribute('id')expected=Attribute(python_type=bool,serialized_type=int)
然后:
>>>surprise=SpanishInquisitionModel(inquisition_id=1234,expected=False)>>>surprise.inquisition_id1234>>>surprise.serialize(){'id':1234,expected=0}
注意,属性inquisition_id成为dict键"id",并且 应映射到0,而不是False。
我们现在可以把这个dict,dumpsit转换成json,然后在其他地方调用 以下是json_数据(这是从loads返回的dict):
>>>my_surprise=SpanishInquisitionModel.deserialize(json_data)>>>my_surprise.inquisition_id1234>>>my_surprise.expectedFalse
kylie支持nested models,因此您可以嵌入 数据中的其他模型实例,kylie将管理序列化和 为你反序列化它们。
非功能
凯莉还没做什么?嗯,有一些事情,因为 非常新:
- 没有任何验证机制。我打算再加一次 决定最好的方法。ideas欢迎!
- 没有post反序列化选项,除非你自己做。 这将允许连接由id和 例如,在序列化数据结构的其他地方提供。
所以,还有一些重要的事情要做,但我认为凯莉已经很有用了。
为什么叫凯莉?
回到80年代末(我老了!)凯莉和杰森是今天的金和坎耶。 thiskylie在json中工作得很好。盖迪特?
历史记录
0.3.0(2015-06-05)
用于确定要反序列化的模型的MappedModelChoice&BaseModelChoice 在运行时。
更改为内部属性接口(将导致轻微版本冲突)
_apply_model已替换为直接的attr_name集。
轻微的代码质量改进。
文档改进。
0.2.0(2015-04-22)
- 为与sequence=True参数的关系添加了列表支持。
0.1.1(2015-04-12)
- 已删除类构造函数中的print语句。
0.1.0(2015-04-12)
- pypi上的第一个版本。