Swift:谷歌翻译格式失败

时间:2014-09-07 16:18:50

标签: ios json swift google-translate

并感谢您查看此问题。

这是我的问题,我正在尝试创建一个简单的Google Translate应用程序。我已经在Google控制台中激活了它,所以我认为我的问题出在我的代码上。

返回的格式是

  

{“data”:{“translations”:[{       “translatedText”:“bonjour”,       “detectedSourceLanguage”:“en”}]}}

我的代码设置如下:

var session = NSURLSession.sharedSession()

        var task = session.dataTaskWithURL(transURL){
            data, response, error -> Void in
            NSLog("dkc 1")
            if(error != nil){
                println(error.localizedDescription)
            }

            var jsonError : NSError?
            NSLog("dkc 2")
            var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &jsonError) as Dictionary<String, String>
            NSLog("dkc 2.5"
            if (jsonError? != nil){
                println(jsonError!.localizedDescription)
            }
            NSLog("dkc 3")
            if let apiDelegate = self.delegate?{

                dispatch_async(dispatch_get_main_queue()){
                    NSLog("dkc 4")
                    apiDelegate.didFinishGTTranslation(jsonResult)
                }

            }

抱歉格式错误...我不确定,但我认为问题出在var jsonResult行上,我将返回类型设置为“as Dictionary”。响应有点复杂,但我不确定如何设置它。

当我运行程序时,它停在上面提到的行(jsonResult)上并进入swift_conformsToProtocol设置

0x10c210572:nopw%cs:(%rax,%rax) 0x10c210580:movq%rax,-0x108(%rbp) 0x10c210587:xorps%xmm0,%xmm0

0x10c21058a:movaps%xmm0,-0x70(%rbp)

0x10c21058e:movq $ 0x0,-0x60(%rbp) 0x10c210596:movq(%rdx),%rax 0x10c210599:cmpq $ 0x41,%rax

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您将顶级JSON对象转换为<String:String>,而实际上它是<String:AnyObject>,顶级字典的值是另一个字典。