で配列することなく、私は以下のようなコードを解析JSONを働いてきたが、それは、配列を取り、それを使用するときに私を与えます。JSONの解析迅速
型の値をキャストすることができませんでした '__NSCFDictionary'(0x10ad77178) 'にNSArray'(0x10ad76b88)エラー
私のJSONファイル(だけ私のJSON内の小数点以下の値を変更します)
{
"One": 30.00,
"Two": 6.00,
"Two2": 36.00
}
には、
let url:NSURL = NSURL(string: "http://url.com")!
let session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url)
let task = session.downloadTaskWithRequest(request) {
(
let location, let response, let error) in
guard let _:NSURL = location, let _:NSURLResponse = response where error == nil else {
print("error")
return
}
let urlContents = try! NSString(contentsOfURL: location!, encoding: NSUTF8StringEncoding)
guard let _:NSString = urlContents else {
print("error")
return
}
let data = urlContents.dataUsingEncoding(NSUTF8StringEncoding)
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
for name in json as! [AnyObject] {
if let Onebir = name["One"] as? String {
self.One1.text = Onebir
}
}
for names in json as! [AnyObject] {
if let Twoiki = names["Two"] as? String {
self.Two2.text = Twoiki
}
}
for namesu in json as! [AnyObject] {
if let Two2uc = namesu["Two2"] as? String {
self.Two23.text = Two2uc
}
}
} catch {
print("error serializing JSON: \(error)")
}
}
task.resume()
以下の下
マイスウィフトコード私は名前を削除しようとします。 。名前のために..名前のために..それは解決しなかった。
私は、明確な得る。このような出力をしたいする必要があります。
self.One1.text = 30.00
self.Two2.text = 6.00
self.Two23.text = 36.00
うーん...優しいアドバイス、チームメイト: 'ガードが聞かせて_:NSURL =場所、聞かせて_:NSURLResponse = response' ...'ガードしましょう_:NSStringの= urlContents else'私はこのコードこと週間前にあなたを伝える覚え悪名高い悪質なブログから来ている、絶対にばかげている - 私はあなたがそれを使用し続けて驚いている!これ以上使用しないことを検討してください。このような 'guard'を使うことは間違っています。あなたは2回の作業をしています! :)これよりもはるかに優れているので、既存の例を見てください。 – Moritz