并感谢您查看此问题。
这是我的问题,我正在尝试创建一个简单的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
0x10c21058e:movq $ 0x0,-0x60(%rbp) 0x10c210596:movq(%rdx),%rax 0x10c210599:cmpq $ 0x41,%rax
提前感谢您的帮助。
答案 0 :(得分:1)
您将顶级JSON对象转换为<String:String>
,而实际上它是<String:AnyObject>
,顶级字典的值是另一个字典。