【发布时间】:2010-12-15 07:07:58
【问题描述】:
我遇到过一些关于实现 python JSON RPC 服务器的指南和包,例如:
- http://json-rpc.org/wiki/python-json-rpc
- http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/552751
- http://pythonpaste.org/webob/jsonrpc-example.html
在服务器/应用程序实现非常简单的意义上,它们都做得很好,您只需返回 python 对象作为结果,框架会负责序列化它。但是,这不适合我的需求,主要是因为我期待从数据库中序列化可能的数千条记录,而这样的解决方案需要我创建一个包含所有记录的单个 python 对象并将其作为结果返回。
我正在寻找的理想解决方案将涉及一个框架,该框架将为应用程序提供一个用于写入响应的流和一个 JSON 编码器,该编码器可以动态编码迭代器(在本例中为来自 pyodbc 的游标),例如这个:
def process(self, request, response):
// retrieve parameters from request.
cursor = self.conn.cursor()
cursor.execute(sql) // etc.
// Dump the column descriptions and the results (an iterator)
json.dump(response.getOut(), [cursor.description, cursor])
谁能给我一个服务器框架,它可以为我提供一个要写入的流和一个 json 序列化框架,它可以处理诸如 pyodbc 光标之类的可迭代对象并即时对其进行序列化。
【问题讨论】: