非标准类型与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 |