Objective-CでJSONを扱う.SBJson編

昨日紹介したNSJSONSerializationはCocoaTouch純正だったけど登場したのはiOS5以降,それ以前はSBJson(旧JSONFramework)がよく使われていたらしい. ちょっと試しただけだけどNSJSONSerializationに勝るとも劣らない高機能っぷりでした.

インストールについては割愛.公式はこちら. http://www.superloopy.io/json-framework/

以下,使い方.今回も非同期通信をしているのであんまり実用的ではないと思う.

SBJson以下のClassesのファイルをプロジェクトに加え,

#import<SBJson/SBJson.h>

を宣言.

    NSString *url = @"SOME_URL";
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURLURLWithString:url]];
    NSURLResponse *responce = nil;
    NSError *error = nil;
    
    NSData *data = [NSURLConnectionsendSynchronousRequest:request returningResponse:&responce error:&error];
    SBJsonParser *parser = [[[SBJsonParser alloc] init] autorelease];
    NSDictionary *dictionary = [parser objectWithData:data];
    
    NSLog(@"JSON = %@", [dictionary description]);

    //Do something

パースが完了するとJSONはNSDictionaryとNSArrayの組み合わせになる.