142 votes

Comparaison des analyseurs JSON pour Objective-C (JSON Framework, YAJL, TouchJSON, etc.)

Pour autant que je sache, il existe trois parseurs JSON pour Objective-C, Cadre JSON , YAJL et Touch JSON . Alors, ces trois-là auraient leurs propres caractéristiques.

Par exemple :
YAJL peut être utilisé comme un analyseur syntaxique de style SAX.
Le cadre JSON a une histoire relativement longue et est largement utilisé.
Touch JSON analyse les NSData au lieu des NSString.

En outre, d'après mes essais, le résultat de la comparaison des performances est le suivant :
[rapide] YAJL > Cadre JSON > Touch JSON [lent].

Si vous connaissez les avantages et les inconvénients de ces analyseurs JSON, pouvez-vous m'en faire part ?
Enfin, si vous connaissez un autre analyseur JSON, dites-le moi.

59voto

johne Points 5957

Si vous recherchez la vitesse, jetez un coup d'oeil à JSONKit . Elle est (généralement) beaucoup plus rapide que les bibliothèques JSON déjà mentionnées, souvent d'un ordre de grandeur. Et grâce à son "cache d'objets récemment instanciés", elle utilise également (généralement) moins de mémoire.

13voto

Jaanus Points 8609

J'ai eu les mêmes résultats que vous pour JSON Framework et TouchJSON. TouchJSON prétend être plus rapide, mais mon test avec l'analyse d'une grande chaîne JSON (10K objets de tableau) était différent, JSON Framework était plus rapide. Je ne connaissais pas YAJL.

12voto

Junior B. Points 1133

Envisager une comparaison que j'ai faite la bibliothèque la plus rapide est JSONKit, suivie de NSJSONSerialization (désormais API publique) et de NextiveJSON. SBJSON et TouchJSON sont un peu plus lentes que les 3 bibliothèques précédentes.

La comparaison a été effectuée sur un iPhone 4S avec iOS 5.0.1.

5voto

Roman Points 7430

Il y a aussi ce parseur :

Je ne me souviens pas comment je suis tombée sur celui-ci, mais il avait l'air léger et simple, alors j'ai pensé qu'il répondait à mes besoins. Je l'ai bifurqué afin d'ajouter l'initialisation à partir de NSData. Comme j'avais besoin d'analyser de petites réponses, je ne me suis pas soucié des performances. Il serait cependant intéressant de savoir comment il se comporte.

3voto

Arvind Points 310

Je pense que JSONKit est plus rapide que YAJL et YAJL est plus rapide que Touch JSON et la classe NSJSONSerialization de IOS5 est beaucoup plus rapide. NSJSONSerialization n'ont pas besoin d'utiliser les API de tiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X