在IOS上使用AFNetworking流式传输JSON

使用AFNetworking从流式JSON API接收数据的最佳方式是什么? AFNetworking为从JSON API接收非流数据提供了出色的支持,但我找不到任何流JSON的例子。

AFNetworking没有内置的流式SAX风格的JSON操作,但它应该是直接创建自己的。

  • 创建AFJSONRequestOperation的子类
  • 在初始化期间使用操作的outputStream属性将其连接到支持SAX样式解析的JSON解析器(例如Yajl )。 解析器将读取数据并在其进入​​时构建JSON对象
  • 连接responseJSON属性以从解析器中读取缓存的对象
  • …或者取决于你如何进行流式传输,你可能需要添加一个新属性来定义在新的JSON对象返回时执行的块(例如setReceivedJSONBlock:((^)(void (id JSON))block )这个块可能会被解析器发送的委托方法触发(例如 -parserDidEndDictionary:

如果你能够使这个工作,我鼓励你发布并与他人分享。 我认为这可能对很多人有用。