cjson 模块

模块:borax.serialize.cjson

cjson 是一个基于 singledispatch 的json 序列化工具。

一般来说,使用 cjson.to_serializable.register 装饰器,为自定义的类绑定一个序列化函数。

  1. import json
  2. from borax.serialize import cjson
  3. class Point:
  4. def __init__(self, x, y):
  5. self.x = x
  6. self.y = y
  7. @cjson.to_serializable.register(Point)
  8. def encode_point(o):
  9. return [o.x, o.y]
  10. obj = {'point': Point(1, 2)}
  11. output = cjson.dumps(obj)
  12. print(output)

输出结果:

  1. {"point": [1, 2]}