Comparação do JSON Parser para Objective-C (JSON Framework, YAJL, TouchJSON, etc)

Até onde sei, existem três analisadores JSON para Objective-C, JSON Framework , YAJL e Touch JSON . Então, esses três teriam suas próprias características.

Por exemplo:
YAJL pode ser usado como um analisador de estilo SAX.
O JSON Framework tem um histórico relativamente longo e é amplamente usado.
Toque em JSON analisa NSData em vez de NSString.

Além disso, até onde eu testei, o resultado da comparação de desempenho é o seguinte:
[fast] YAJL> JSON Framework> Toque em JSON [lento].

Se você conhece os prós e contras desses analisadores de JSON, poderia me dizer?
Por fim, se você conhece algum outro JSON Parser, por favor me diga.

Se você está procurando velocidade, dê uma olhada no JSONKit . É (geralmente) muito mais rápido do que as bibliotecas JSON já mencionadas, geralmente uma ordem de grandeza mais rápida. E por causa de seu “cache de objects recentemente instanciado”, ele (de novo, geralmente) também usa menos memory.

Considerando uma comparação que fiz , a biblioteca mais rápida é o JSONKit, seguida pela NSJSONSerialization (agora API pública) e NextiveJSON. SBJSON e TouchJSON são um pouco mais lentos que as 3 bibliotecas anteriores.

A comparação foi feita usando um iPhone 4S com iOS 5.0.1.

Há também esse analisador :

Não me lembro como me deparei com este, mas parecia leve e simples, por isso achei que se adequava às minhas necessidades. Eu evento bifurcou para adicionar boot do NSData. Como eu precisava analisar pequenas respostas, não me importei com o desempenho. Seria interessante saber como ele funciona.

Eu acho que o JSONKit é mais rápido que o YAJL e o YAJL é mais rápido do que o Touch JSON e a class NSJSONSerialization do IOS5 é muito mais rápida. A NSJSONSerialization não precisa usar APIs de terceiros.

Olhe para este post . <30 caracteres>

Se você está procurando por um serializador de NSObject para JSON e vice-versa, você pode querer verificar o JSONSerializer de OBJC

Por que não dar uma olhada nos benchmarks da akosma em parsers, onde ele compara diferentes tipos de analisadores. Se um analisador estiver faltando, você também pode adicioná-lo aos testes, já que o código dele é de código aberto.

iPhoneWebServicesClient