- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(TwitterAPI,Objective-C);
*目次 [#r24c713c]
#contents
*参考情報 [#nfe286c6]
-JSONのパーサー
-http://github.com/gabriel/yajl-objc
-[[MGTwitterEngine Twitter API 1.1対応: iPhoneアプリ開発備忘録:http://iphone-app-developer.seesaa.net/article/306753070.html]]…内部にYAJL使い方あり。
-[[./YAJLiOS-0.3.1.zipの使用方法]]
*ダウンロード [#ve84ccba]
-http://github.com/gabriel/yajl-objc からiPhone用のライブラリがダウンロードできるのでそれを使うのが簡単か。
*YAJLのiOSインターフェイス [#lf00ca5e]
**簡単な使い方 [#h02de9fb]
-NSStringにyajl_JSONというメソッドが追加されるのでこれを使うのが一番簡単(NSErrorを引き渡さない一番簡単な呼び出し方の場合例外が返ってくる可能性があるので、本当は例外処理しないといけない)。
#pre{{
#import<YAJLiOS/YAJL.h>
NSString *str = @"[true,false,1,2.345,\"あ\"]";
NSArray* json = [str yajl_JSON];
}}
-上記例で、1〜4番目はNSNumber、5番目はNSStringが返ってくる。
#pre{{
id v1 = [json objectAtIndex:0];
[v1 boolValue]; // => YES
id v2 = [json objectAtIndex:1];
[v2 boolValue]; // => NO
...
}}
-この処理はソースコードのYAJLParser.mのyajl_number、yajl_booleanなどで行われている。詳細を知りたい場合はソースを確認したほうがわかりやすい。
#pre{{
int yajl_boolean(void *ctx, int boolVal) {
NSNumber *number = [[NSNumber alloc] initWithBool:(BOOL)boolVal];
[(id)ctx _add:number];
[number release];
return 1;
}
}}