在REST API中返回一长串JSON对象

时间:2013-09-06 21:54:16

标签: python json rest streaming

假设我有一个大型(但有限)的JSON对象数组,我想从REST API返回。执行此操作的标准方法是完整地返回数组,这意味着任何客户端必须等到整个数组完成下载才能被解释。

如何以一种允许一次处理一个对象的方式返回所述数组?

如果我使用Python的bottleurllib2库,我会想象一个这样的界面,

server.py

@bottle.get("/long/array")  # reachable from http://localhost/long/array
@streaming_json             # indicates that this function returns a generator of JSON-serializable objects
def long_array():
  for obj in really_long_array:
     yield obj

client.py

for line in urllib2.urlopen("http://localhost/long/array"):
   print json.loads(obj)

这样的界面是否存在?我该如何实施一个?

0 个答案:

没有答案