iPhone / iOS JSON Parsing Tutorial [geschlossen]

103

Als Lernerfahrung möchte ich eine iPhone-Anwendung erstellen, die einen Webserver / Webservice aufruft, eine JSON-Antwort abruft und diese Antwort verwendet, um die Zeilen von a zu UITableViewfüllen (vorausgesetzt, sie konvertiert den JSON in einen NSArrayersten).

Weiß jemand etwas, das nützlich sein könnte?

Casey Flynn
quelle

Antworten:

164

Sie werden diesen Rahmen lieben .

Und Sie werden dieses Tool lieben .

Wenn Sie mehr über JSON erfahren möchten, könnte Ihnen diese Ressource gefallen .

Und Sie werden dieses Tutorial wahrscheinlich lieben .

Todd Hopkinson
quelle
Du hast absolut Recht damit, dass ich das auch liebe @icnivad, vielen Dank für die Führung, das ist sehr nützlich.
Casey Flynn
. Das von Ihnen erwähnte Tutorial erfordert eine DMG-Datei, aber ich konnte keine DMG-Datei auf dem Link finden, den Sie für das Framework erwähnt haben. Dieser Link führt direkt zu Github und enthält eine Zip-Datei mit verschiedenen Klassen und Beispielen, aber ich verstehe nicht, welchen Teil ich in mein Projekt einfügen muss. Kannst du mir bitte helfen?
Alekhine
2
Ja, dieses Projekt ist nach Github umgezogen. Erhalten Sie es hier: github.com/stig/json-framework .
Todd Hopkinson
Sie werden wahrscheinlich auch hurl.it
Caspar Harmer
Das SBJson-Ding wäre schön, wenn es gebaut würde. Schlägt für mich mit 44 Fehlern in Xcode 4 in OS X Lion fehl.
Sarah Vessels
57

Ab iOS 5.0 bietet Apple die NSJSONSerialization-Klasse "zum Konvertieren von JSON in Foundation-Objekte und zum Konvertieren von Foundation-Objekten in JSON" an. Keine externen Frameworks zu integrieren und laut Benchmarks ist seine Leistung recht gut, deutlich besser als bei SBJSON.

darrinm
quelle
Diese Worte sind großartig, solange man nicht plant, iOS 4 und frühere Versionen zu unterstützen.
Sanjay Chaudhry
18
Da es jetzt 2012 ist und iOS6 unmittelbar bevorsteht, ist dies eher der Fall.
Abizern
1
Das Benchmark-Ergebnis lautet "404 Not Found".
Pang
Einige aktualisierte Benchmarks, die NSJSONSerialization als die schnellsten zeigen: 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
quelle
Vielen Dank für die Bereitstellung eines Codebeispiels!
Floh
4

Probieren Sie es mit diesem schnellsten JSON-Framework JSONKit aus . Es ist schneller als das normale JSON-Framework.

Hiren
quelle
1
Du hast recht, das ist blitzschnell!
Ivan Fioravanti
Das beste JSON-Framework +1
1

Hier ist ein Link zu meinem Tutorial, durch das Sie geführt werden:

  • Erstellen eines JSON WCF-Webdienstes von Grund auf neu (und die Probleme, die Sie vermeiden möchten)
  • Anpassen zum Lesen / Schreiben von SQL Server- Daten
  • Erhalten einer iOS 6-App zur Verwendung der JSON-Dienste.
  • Verwenden der JSON-Webdienste mit JavaScript

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

Der gesamte Quellcode wird kostenlos zur Verfügung gestellt. Genießen.

Mike Gledhill
quelle