What would be the most elegant way to receive data from a streaming JSON API using AFNetworking? AFNetworking provides excellent support for receiving non-streaming data from JSON APIs, but I couldn't find any examples of streaming JSON.
AFNetworking does not have a built-in streaming SAX-style JSON operation, but it should be straight forward to create your own.
AFJSONRequestOperation
outputStream
property of the operation during initialization to hook it up to a JSON parser that supports SAX-style parsing (such as Yajl). The parser will read data and build up the JSON object as it comes inresponseJSON
property to read the cached object from the parsersetReceivedJSONBlock:((^)(void (id JSON))block
). This block will probably be triggered by delegate methods sent from the parser (e.g. <YAJLParserDelegate> -parserDidEndDictionary:
).If you are able to get this working, I would encourage you to publish and share this with others. I think this could be useful to quite a few people.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With