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でエンコードされている必要があります。