Я успешно использую yajl-objc вместе с ASIHTTPRequest в проекте iPhone, который осуществляет доступ к сети, извлекает и анализирует данные JSON. ASIHTTPRequest по умолчанию разрешает сжатые HTTP-ответы, и это здорово, но я использую возможности потокового синтаксического анализатора YAJL, и он по праву задыхается от сжатых данных. Я могу дождаться завершения HTTP-запроса, затем распаковать gzip и проанализировать ответ, но здесь я стремлюсь к скорости и хотел бы анализировать данные, заархивированные gzip, по мере их загрузки.
Можно ли разархивировать данные на лету, проанализировать JSON внутри, а затем забыть об этом куске сжатых данных?
Если бы эту последнюю часть можно было решить, эта установка, кажется, сделала бы отличную систему:
- YAJL — один из самых быстрых парсеров JSON.
- ASIHTTPRequest прост и асинхронен
- Тела ответов могут быть заархивированы gzip, что сэкономит сетевой трафик.
- JSON можно анализировать, не загружая все дерево в ограниченную память устройства.
Любое руководство будет с благодарностью!