web-dev-qa-db-ja.com

Swift 3.0:Data to JSON [String:Any]

夕方、APIClientを作成しようとしていますが、warningAPIClient.Swift:53:81: Cast from 'Data' to unrelated type '[String : Any]' always fails

このコードでは、Data[〜#〜] json [〜#〜]に変換しようとしています[String : Any]

コンパイラは、このキャストが可能かどうかわからないので、エラーがスローされると思いますが、うまくいくと確信しています。それでは、この警告を回避するにはどうすればよいですか、より安全なコードを作成するにはどうすればよいですか

case 200:
         do {
            let json = try JSONSerialization.data(withJSONObject: data!, options: []) as? [String : Any]
            completion(json, HTTPResponse, nil)
         } catch let error {
             completion(nil, HTTPResponse, error)
         }
11
Miotz

正しい方法は次のとおりです。

let json = try JSONSerialization.jsonObject(with: data!, options: []) as? [String : Any]

Eric Aya に感謝

34
Miotz