iphone objective-c json

iphone - Comparación de JSON Parser para Objective-C(JSON Framework, YAJL, TouchJSON, etc.)



(7)

Por lo que sé, hay tres JSON Parsers para Objective-C, JSON Framework , YAJL y Touch JSON . Entonces, estos tres tendrían sus propias características.

Por ejemplo:
YAJL se puede utilizar como un analizador de estilo SAX.
JSON Framework tiene una historia relativamente larga y es ampliamente utilizado.
Toque JSON analiza NSData en lugar de NSString.

Además, por lo que he probado, el resultado de la comparación del rendimiento es el siguiente:
[rápido] YAJL> Marco JSON> Toque JSON [lento].

Si conoce los pros y los contras de estos analizadores JSON, ¿podría decirme?
Por último, si conoce cualquier otro analizador JSON, dígamelo.


¿Por qué no echar un vistazo a los puntos de referencia de akosma en analizadores sintácticos donde compara diferentes tipos de analizadores? Si falta un analizador, también podría agregarlo a las pruebas, ya que su código es de código abierto.

iPhoneWebServicesClient


Considerando una comparación que hice , la biblioteca más rápida es JSONKit, seguida de NSJSONSerialization (ahora API pública) y NextiveJSON. SBJSON y TouchJSON son un poco más lentos que las 3 bibliotecas anteriores.

La comparación se realizó utilizando un iPhone 4S con iOS 5.0.1.


Creo que JSONKit es más rápido que YAJL y YAJL es más rápido que Touch JSON y la clase de IOS5 clase NSJSONSerialization es mucho más rápida. NSJSONSerialization no necesita usar ninguna API de terceros.



Si buscas velocidad, echa un vistazo a JSONKit . Es (generalmente) mucho más rápido que las bibliotecas JSON ya mencionadas, a menudo un orden de magnitud más rápido. Y debido a su "caché de objetos instanciados recientemente", usará (nuevamente, generalmente) también menos memoria.


Si está buscando un serializador de NSObject a JSON y viceversa, es posible que desee consultar OBJC JSONSerializer


También hay este analizador :

No recuerdo cómo me encontré con este, pero parecía ligero y simple, así que pensé que se adapta a mis necesidades. El evento lo bifurcó para agregar la inicialización de NSData. Como necesitaba analizar pequeñas respuestas, no me importó el rendimiento. Sin embargo, sería interesante saber cómo funciona.