パースについてお願いします。

"weather":[{"id":0,"main":"Rain","description":"light intensity shower rain","icon":"09n"}]

をパースする場合、

let task = URLSession.shared.dataTask(with: _url!,completionHandler:{data,response,error in do{

    let dict1:NSDictionary = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary

の後に、

let dict = dict1["weather"] as! NSDictionary
let id = dict2["id"] as! NSArray

をすると、以下のエラーが出ます。

Could not cast value of type '__NSArrayM' to 'NSDictionary'

この解決方法はどのように記述すれば回避できますか?