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の組み合わせになる.