長年書き溜めたネタをいよいよ解禁するタイミングが来ました。
ずばりObjective-CでJSONをパースする方法なのだが、
JSON Frameworkを使ってjsonをiPhone(iOS)でパースする。
を確認すると、まずは、GitHubでプログラムのダウンロードが書かれているのだが、実は、FacebookSDKを使っている場合は、運のいいことに、デフォルトでもれなくSBJSONのプログラムもついてくるのです。
なので、後は、JSONの処理に集中すればいいのであるのだが、受け取ったJSONデータを下のように記述すればいいようである。
と書いた場合、返ってくるのは、NSDictionaryかNSArrayなので、上のやり方でも問題ないのだが、下のように書いてもいけそうな気がする。id jsonItem = [jsonData JSONValue];
via:[iPhone] JSON Framework の使い方(解析編)
if([jsonData isKindOfClass:[NSDictionary class]]){ NSDictionary *jsonItem = [jsonData JSONValue]; }else if([jsonData isKindOfClass:[NSArray class]]){ NSArray *jsonItem = [jsonData JSONValue]; } |
後は、NSDictionaryまたは、NSArrayに対してkeyを使ってvalueを引っ張ってくればおk
しかし、なんで、Objective-Cは、デォルトでJSONをパースする機能を用意してくれていないのだろうか?
歴史を紐解くと1980年代に生まれた言語なので、ないっちゃないのかもしれない。
が、バージョンアップという形で対応はしてほしいなと。
0 コメント:
コメントを投稿