¿Hay alguna clase para analizar JSON desde un servidor en iOS SDK? (Similar a NSXML para XML y por extensión de RSS.)Compatibilidad nativa con JSON en iOS?
Respuesta
A partir de iOS5 JSON se admite de forma nativa, sin necesidad de marcos de terceros. Esto es compatible con el NSJSONSerialization Class!
respuesta Actualización para iOS 5: apoyo
JSON es ahora nativa de iOS con NSJSONSerialization
, pero en términos de rendimiento, palidece en comparación a JSONKit
, como John Englehart afirma en el JSONKit
README:
ACTUALIZACIÓN: (2011/12/18) los puntos de referencia más adelante se realizaron antes Manzanas NSJSONSerialization estaba disponible (a partir de Mac OS X 10.7 y el iOS 5). La pregunta obvia es: ¿Cuál es más rápido, NSJSONSerialization o JSONKit? Según este sitio, JSONKit es más rápido que NSJSONSerialization. Algunos cálculos rápidos de "respaldo del sobre" usando los números reportados, JSONKit parece ser aproximadamente de 25% a 40% más rápido que NSJSONSerialization, que es bastante significativo.
Aquí es un blog, que se adentra en los puntos de referencia más específicos: JSON Libraries for iOS Comparison
Para cualquier persona que encuentre esta pregunta a través de Google u otra fuente similar: la respuesta de boz a continuación reemplaza a esta. El soporte de JSON ahora es nativo de iOS. – Tommy
Para cualquiera que desee utilizar JSONKit con su aplicación que utiliza la recolección de basura basada en el conteo de referencias de iOS, no tiene suerte aquí (en otras palabras, la documentación de JSONKit hace todo lo posible por mencionar el comportamiento de JSONKit cuando se usa con La aplicación ARC no está definida). Pero, si estás usando ARC, probablemente no te preocupes demasiado por la memoria y el rendimiento de todos modos :-) – umassthrower
@umassthrower Estoy seguro de que conoces el indicador '-fno-objc-arc' ... –
Hay varias bibliotecas JSON para el iPhone que figuran en esta discusión: https://stackoverflow.com/questions/286087/best-json-library-to-use-when-developing-an-iphone-application
El enlace está roto.¡Página no encontrada! – ioopl
NextiveJson es se supone que es una lib bastante rápida para iOS JSON NextiveJson
Con respecto a JSONKit
puntos de referencia, para el momento actual y la versión de iOS no es tan rápido. Después de crear la aplicación de prueba para la velocidad de prueba NSJSONSerialization
es más rápido pero no tan rápido como la implementación personalizada OKJSONParser
- 1. Compatibilidad nativa de objetos JSON en navegadores móviles
- 2. Streaming JSON con AFNetworking en IOS
- 3. ¿jQuery ha incorporado compatibilidad con JSON?
- 4. iOS: compruebe la compatibilidad con notificaciones push en la aplicación
- 5. iOS 6 API y compatibilidad con versiones anteriores
- 6. iOS JSON NSString Parse
- 7. ¿La interfaz nativa de Java (JNI) se ve afectada por problemas de compatibilidad con C++ ABI?
- 8. api para mostrar la calculadora nativa en la aplicación iOS
- 9. Aplicación web para Android e iOS envuelta en una nativa
- 10. Qué debo hacer para adaptar mi aplicación a iOS 5.0 manteniendo la compatibilidad con iOS 4
- 11. Parse json con NSJSONSerialización clase utilizando objectForKey en iOS
- 12. Compatibilidad con AOP en Delphi
- 13. Datos JSON de iOS en PHP-script
- 14. marco JSON no funciona en iOS 4
- 15. Usar una brújula iOS nativa dentro de una aplicación
- 16. WatiN Compatibilidad con Windows
- 17. Agrupación DLL nativa con jarra
- 18. compatibilidad con normas g ++
- 19. Compatibilidad con IronPython 3
- 20. Compatibilidad con GIF con Android
- 21. Compatibilidad con Systemtap PPC32
- 22. Llamando al servicio web JSON con parámetros - Objetivo C - iOS
- 23. ¿Cómo construir una biblioteca estática con la máxima compatibilidad en iOS?
- 24. Error al construir json (1.6.3) con extensión nativa después de instalar Xcode 4.2
- 25. ¿Hay alguna forma de que la vista web se comunique con la aplicación iOS nativa?
- 26. Compatibilidad con HTML5 y RDFa
- 27. Compatibilidad con JAX-RPC en Netbeans 6.9.1
- 28. Compatibilidad con varios idiomas En C#
- 29. Compatibilidad con propiedades de tipo en g ++
- 30. Compatibilidad con OpenGL 3/4 en D
¿Recomendaría utilizar las clases nativas o JSONKit? He escuchado los motivos de rendimiento de por qué usaría las clases no nativas, y me gustaría recibir algunos comentarios – Doug
@Doug de acuerdo con esto: http://www.bonto.ch/ blog/2011/12/08/json-libraries-for-ios-comparison-updated/JSONKit es más rápido, pero a menos que trabaje con una gran cantidad de JSON, no creo que vaya a marcar una gran diferencia. – ThomasW
NSJSONSerialization tiene un error en iOS 5 solamente (nunca lo encontré en 6) y algunas veces arroja un error en JSON perfectamente válido. El error dice Error Domain = NSCocoaErrorDomain Code = 3840 "La operación no se pudo completar. (Cocoa error 3840.)" (Duplicar clave para el objeto alrededor del carácter 126). No sé qué causa el error, ya que puedo No siempre lo reproduzco. – LightningStryk