SBJson で実際にパースをしてみる

コード内で SBJson を使ってパースするには、SBJson.h をインポートして、パーサを作ってパースをするだけです。

こんな感じで使えます。(Mac の Web共有をオンにして自分で作った JSON データ(jsonReplySample.json)を読み込んでパースしてコンソールに表示しています。)

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.11.3/~paraches/jsonReplySample.json"]];
NSData *jsonData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
SBJsonParser *parser = [[[SBJsonParser alloc] init] autorelease];
NSDictionary *jsonDic = [parser objectWithData: jsonData];
NSLog(@"JSON dictionary=%@", [jsonDic description]);

古いバージョンでは一度データを NSString にしてからパースしていたらしいですが、バージョン 3 からはパーサに NSData のままデータを渡すことが可能です。ただし、UTF-8エンコードされている必要があります。