Swift: 解析JSON, NSDictionaries的NSDictionary

Swift: Parsing JSON, NSDictionary of NSDictionaries

我正在尝试解析带有一些标签和子标签的 JSON 文件。我通过创建一个 NSDictionary 来做到这一点。由此我从某个标签创建了一个 NSDictionary 。这个 NSDictionary 包含我要解析的属性。所以我试图遍历 NSDictionary,但它不起作用。我尝试了很多变体,但它一直给我编译时错误。

var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(JSONData, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary

var devices:NSDictionary = jsonResult.objectForKey("devices") as NSDictionary

for device:NSDictionary in devices{

    device.objectForKey("id")
    //etc
    //etc
}

我收到以下错误:

'(key: AnyObject, value: AnyObject)' is not convertible to 'NSDictionary'

在每个循环行上。之后我也试过将它转换为 NSDictionary,但后来我得到了同样的错误。

为了澄清,这是我的 json 文件的示例:

{  
   "global":{  
      //etc
   },
   "user":{  
    //etc
   },
   "devices":[  
      {  
         "id":16108,
         //etc
      },
      {
          “id”:12310,
          //etc
      },
        //etc
},

etc 显然意味着还有更多的数据,这只是一个基本的轮廓。我正在尝试读取设备的属性

这里的问题是 objectForKey("devices") returns 是 NSArray 而不是 NSDictionary

适合我:

        var error: NSError?
        var jsonResult = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary

        var devices = jsonResult.objectForKey("devices") as NSArray?
        if devices != nil {
            for device in devices! {
                var deviceId = device.objectForKey("id") as NSNumber
                println("deviceId: \(deviceId)")
            }
        }