在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:
如果你能够使这个工作,我鼓励你发布并与他人分享。 我认为这可能对很多人有用。