web-dev-qa-db-fra.com

Comparaison de l'analyseur JSON pour Objective-C (Framework JSON, YAJL, TouchJSON, etc.)

Pour autant que je sache, il existe trois analyseurs JSON pour Objective-C, Framework JSON , YAJL et Appuyez sur JSON . Ensuite, ces trois auraient leurs propres caractéristiques.

Par exemple:
YAJL peut être utilisé comme analyseur de style SAX.
JSON Framework a une histoire relativement longue et est largement utilisé.
Appuyez sur JSON analyse NSData au lieu de NSString.

De plus, pour autant que j'ai testé, le résultat de la comparaison des performances est le suivant:
[rapide] YAJL> Framework JSON> Touchez JSON [lent].

Si vous connaissez les avantages et les inconvénients de ces analyseurs JSON, pourriez-vous me dire?
Enfin, si vous connaissez un autre analyseur JSON, dites-le-moi.

141
tomute

Si vous recherchez la vitesse, jetez un œil à JSONKit . Il est (généralement) beaucoup plus rapide que les bibliothèques JSON déjà mentionnées, souvent un ordre de grandeur plus rapide. Et en raison de son "cache d'objets récemment instancié", il utilisera (encore une fois, généralement) moins de mémoire.

59
johne

En considérant ne comparaison que j'ai faite , la bibliothèque la plus rapide est JSONKit, suivie de NSJSONSerialization (maintenant API publique) et NextiveJSON. SBJSON et TouchJSON sont un peu plus lents que les 3 bibliothèques précédentes.

La comparaison a été effectuée à l'aide d'un iPhone 4S avec iOS 5.0.1.

12
bontoJR

Il y a aussi cet analyseur :

Je ne me souviens pas comment je suis tombé sur celui-ci, mais il avait l'air léger et simple, alors j'ai pensé qu'il convenait à 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 souciais pas de la performance. Il serait cependant intéressant de savoir comment il fonctionne.

5
Roman

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

3
Arvind

Regardez ce post . <30 caractères>

2
berec

Si vous recherchez un sérialiseur de NSObject vers JSON et vice versa, vous voudrez peut-être commander OBJC JSONSerializer

0

Pourquoi ne pas jeter un œil aux références d'Akosma sur les analyseurs où il compare différents types d'analyseurs. Si un analyseur est manquant, vous pourriez aussi bien l'ajouter aux tests, car son code est open source.

iPhoneWebServicesClient

0
codeclash