Tutorial de análisis JSON de iPhone / iOS [cerrado]

103

Como experiencia de aprendizaje, quiero crear una aplicación para iPhone que llame a un servidor web / servicio web, recupere una respuesta JSON y use esa respuesta para completar las filas de un UITableView(suponiendo que convierta el JSON en el NSArrayprimero).

¿Alguien sabe algo que pueda ser útil?

Casey Flynn
fuente

Respuestas:

164

Te encantará este marco .

Y te encantará esta herramienta .

Para aprender sobre JSON, puede que le guste este recurso .

Y probablemente te encantará este tutorial .

Todd Hopkinson
fuente
Tienes toda la razón en que a mí también me encanta @icnivad, muchas gracias por el liderazgo, esto es muy útil.
Casey Flynn
. El tutorial que mencionó requiere un archivo DMG, pero no pude encontrar ningún archivo DMG en el enlace que mencionó para el marco. ese enlace se dirige a github y contiene un archivo zip con varias clases y ejemplos, pero no entiendo qué parte necesito insertar en mi proyecto. ¿Podrías ayudarme?
alekhine
2
Sí, ese proyecto se trasladó a github. Consíguelo aquí: github.com/stig/json-framework .
Todd Hopkinson
Probablemente también te encantará hurl.it
Caspar Harmer
Eso de SBJson sería bueno si se construyera. Me falla con 44 errores en Xcode 4 en OS X Lion.
Sarah Vessels
57

A partir de iOS 5.0, Apple proporciona la clase NSJSONSerialization "para convertir JSON en objetos Foundation y convertir objetos Foundation en JSON". No hay marcos externos para incorporar y, según los puntos de referencia, su rendimiento es bastante bueno, significativamente mejor que SBJSON.

darrinm
fuente
Estas palabras son geniales siempre y cuando uno no planee admitir iOS 4 y versiones anteriores.
Sanjay Chaudhry
18
Dado que ahora es 2012 y iOS6 es inminente, es más probable que ese sea el caso.
Abizern
1
Y el resultado de la evaluación comparativa es "404 Not Found".
Pang
Algunos puntos de referencia actualizados, que muestran NSJSONSerialization como el más rápido: stackoverflow.com/questions/16218583/jsonkit-benchmarks
darrinm
6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }
chandrika
fuente
¡Gracias por proporcionar una muestra de código!
Flea
4

Pruébelo con este JSONKit de marco JSON más rápido . es más rápido que el marco JSON normal.

Hiren
fuente
1
Tienes razón, ¡esto es rápido como un rayo!
Ivan Fioravanti
El mejor marco JSON +1
1

Aquí hay un enlace a mi tutorial, que lo guía:

  • crear un servicio web JSON WCF desde cero (y los problemas que querrá evitar)
  • adaptarlo para leer / escribir datos de SQL Server
  • obtener una aplicación iOS 6 para usar los servicios JSON.
  • usando los servicios web JSON con JavaScript

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Todo el código fuente se proporciona de forma gratuita. Disfrutar.

Mike Gledhill
fuente