2016-11-16 47 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

相关问题