SwiftでJSONを読む
以下のような形式のJSONにhttpでアクセスできると想定しています。
[{"foo":1,"bar":10},{"foo":2,"bar":20}]
Swiftのオプショナル型の扱いが今ひとつ理解しきれておらず、ここまで書くのにえらい手間取ってしまいました。
let URL = "http://example.net/foo.json"
let url: NSURL? = NSURL(string: URL)
let request: NSURLRequest = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler: {
(resp:NSURLResponse?, data:NSData?, e1:NSError?) -> Void in
var e2: NSError?
if let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &e2) as? NSArray {
for d in son {
if let v = d["foo"] as? String {
println(v)
}
}
}
});
正しく書けたとしても、どうも今ひとつ使い易さに欠けるような気がします。Objective-CのAPIをそのまま引き継いだせいでしょう。色々とライブラリが考案されているみたいですね。
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について