非标准类型与JSON序列化之间的网关接口。
项目描述
非标准类型与JSON序列化之间的网关接口。
要求
要求
python 2.6+
使用方法
您可以通过将自定义类型添加到默认的ENCODER或DECODER实例来将自定义类型添加到JSON序列化代理。
>>> 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>
支持的类型
以下非标准类型受支持
复数(数字)
省略号
集合
datetime.date对象
datetime.datetime对象
致谢
iso8601.py模块由micktwomey编写。
错误
请使用https://github.com/tehmaze/jsonproxy/issues上的问题跟踪器。
许可协议
版权(c)2011 Wijnand Modderman-Lenstra
特此免费授予任何获得本软件及其相关文档文件(“软件”)副本的任何人,在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向提供软件的个人提供这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他原因,源于、因或与软件或软件的使用或其他方式有关。
项目详情
关闭
jsonproxy-0.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | b55e8305919448191c9b4050de70556ba63f51186bd7f61cfeaf6c0f0f35f858 |
|
MD5 | 7a4070aa6a9a07ce85f0eb2f7d549647 |
|
BLAKE2b-256 | 83db43f7c849070af8256ba89ccc3801dc70bd76c38382ea6e138c6110fc40aa |