跳转到主要内容

非标准类型与JSON序列化之间的网关接口。

项目描述

非标准类型与JSON序列化之间的网关接口。

要求

要求

  • python 2.6+

使用方法

您可以通过将自定义类型添加到默认的ENCODERDECODER实例来将自定义类型添加到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 (4.1 kB 查看散列值)

上传时间 源代码

由以下支持