非标准类型与json序列化之间的网关接口。
jsonprox的Python项目详细描述
非标准类型和JSON序列化之间的网关接口。
要求
要求:
- python 2.6+
用法
通过将自定义类型添加到 默认ENCODER或DECODER实例:
>>> from jsonproxy import ENCODER, DECODER, dumps, loads >>> class Point(object): ... def __init__(self, x, y): ... self.x = x ... self.y = y ... def __repr__(self): ... return '<Point x=%d, y=%d>' % (self.x, self.y) ... >>> ENCODER.register('point', ... lambda obj: isinstance(obj, Point), ... lambda obj: [obj.x, obj.y]) ... >>> DECODER.register('point', ... lambda obj: Point(obj[0], obj[1])) ... >>> test = dumps(Point(23, 42)) >>> print test {"__proxy__": "point", "value": [23, 42]} >>> print repr(loads(test)) <Point x=23, y=42>
支持的类型
支持以下非标准类型:
- complex (numbers)
- Ellipsis
- set
- datetime.date objects
- datetime.datetime objects
学分
iso8601.py模块由micktwomey编写。
错误
使用位于https://github.com/tehmaze/jsonproxy/issues的问题跟踪程序
许可证
版权所有(C)2011Wijnand Modderman-Lenstra
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的所有副本或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。