2015-09-28 73 views
0

当我打印(JSON)时,我得到这些文件,所以.request可以工作。 但是,当我试图进入“试验”键(它存在),我得到零Swift:当访问NSDictionairy时,JSON为零

我得到

“我在这里”
“现在,我在这里”

Alamofire.request(.GET, self.APIBaseUrl , parameters: ["api_key": self.APIkey]) 
      .responseJSON { response in 
       if let JSON = response.result.value { 
        print("I am here") 
        if let str = JSON as? NSDictionary { 
        print("now , I am here") 
        if let movieUrlString = str["poster_path"] as? String)! { 
         print("but now here") 
         } 

EDITED

print(dict) 


**dates** =  { 
maximum = "2015-10-21"; 
minimum = "2015-09-30"; 
}; 
page = 1; 
**results** =  (
      { 
adult = 0; 
"poster_path" = "/2XegKZ0I4QrvzpEHneigRk6YTB1.jpg"; 

++(更多结果)

+1

您是否更具体? – Abizern

+0

其TMDB数据库和结果是: – PoolHallJunkie

回答

1

尝试使用更有意义的调试打印语句和变量名称。你也没有使用正确的变量进行下标。修正示例:

Alamofire.request(.GET, self.APIBaseUrl , parameters: ["api_key": self.APIkey]).responseJSON { response in 
    if let JSON = response.result.value { 
     print("inside JSON result") 
     if let dict = JSON as? NSDictionary { 
      print("inside decoded JSON") 
      if let results = dict["results"] as? [NSDictionary] { 
       for result in results { 
        if let movieUrlString = result["poster_path"] as? String { 
         print(movieUrlString) 
        } 
       } 
      } 
     } 
    } 
} 
+0

是的,你是对的,我复制了错误的块。我仍然在里面得到JSON结果 - 里面解码的JSON – PoolHallJunkie

+0

而且?你的问题是什么?如果'如果让arrayOfURLs = dict [“poster_path”]为? [String]'不起作用,这意味着关键字'dict [“poster_path”]'不存在,或者它不包含字符串数组。通过执行print(dict)而不是print(“在解码的JSON”内)进行调试。 – Moritz