2016-11-16 92 views
0

我試圖獲取特定位置的溫度,但試圖從JSON中提取信息會發現這個錯誤:不能使用類型爲'String'的索引來標記類型爲'[[String:AnyObject]]'的值

Cannot subscript a value of type '[[String : AnyObject]]' with an index of type 'String'

代碼:

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

      if let mainDictionary = json["main"] as? [[String : AnyObject]] 
      { 

       if let temp = mainDictionary["temp"] as! String 
       { 
        print(temp)           

       } 
      } 

出現在行的錯誤:

if let temp = mainDictionary["temp"] as! String 

我已經嘗試了多個'解決方案'發現懶,但似乎沒有工作...

在此先感謝!

+1

嘗試像'if let temp = mainDictionary [0] [「temp」]那樣?字符串「,如果不行,請在這裏顯示您的JSON響應。 –

回答

1

您鑄造類型:

[[String: AnyObject]] 

當你要鑄造這樣的:

[String: AnyObject] 

你正在做它的方式將類型轉換爲包含字典的數組的數組,當您希望將其轉換爲包含作爲強和作爲值的任何對象的鍵的字典數組時。

希望這有助於:)

+0

謝謝!這是解決方案。 – DrWurffius

+0

很高興能幫到@DWWurffius – RyanM

0

應該是[String : AnyObject]?你是它鑄造[[String : AnyObject]]意味着詞典的陣列

+0

謝謝!這是解決方案。 – DrWurffius

相關問題