2016-11-16 5 views
0

特定の場所の温度を取得しようとしていますが、JSON iから情報を抽出しようとしています「このエラーを見つけるでしょう:'[[String:AnyObject]]型の値に' String '型のインデックスを添字できません

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

コード:

if let temp = mainDictionary["temp"] as! 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)           

       } 
      } 

スラック上に複数の「解決策」を試しましたが、うまくいかないようです...

ありがとうございます!

+1

let temp = mainDictionary [0] ["temp"]としてみてください。 JSONレスポンスを表示していない場合は、「String」と表示されます。 –

答えて

1

の配列を意味あなたは[[String : AnyObject]]にキャストされていますキーを強く、任意のオブジェクトを値として含むディクショナリの配列としてキャストする必要があるときに、辞書を含む配列の配列として型をキャストします。

希望しました。

+0

ありがとう!これが解決策でした。 – DrWurffius

+0

喜んで私は@DrWurffiusを助けることができました – RyanM

0

[String : AnyObject]?あなたはこのようにそれをキャストする必要がある場合には

[[String: AnyObject]] 

[String: AnyObject] 

あなたはそれをやっている方法をあなたがしたようなタイプをキャストしている辞書

+0

ありがとう!これが解決策でした。 – DrWurffius

関連する問題