提取 Json 数据时出错

Error when extracting Json data

我一直在从本地 .json 文件中提取数据,并更改了代码以远程提取数据,如下所示

        GetRemoteData.getDataFromServer { (svrData) -> Void in
            let jsonDict = NSJSONSerialization.JSONObjectWithData(svrData, options: nil, error: nil) as! NSDictionary

            for item in jsonDict {
                var obj = item as NSDictionary
                for (key, value) in obj {
                    var str = key as! String
                    if (str == "Name")
                    {
                        var desc = value as! String
                        self.ctgNames.addObject(desc)
                    }
                    else if (str == "Code")
                    {
                        var code = value as! String
                        self.ctgCodes.addObject(code)
                    }
                }
            }
        }

当我在本地提取以便使用 JSONObectWithData() 创建 svrData 时,它工作正常,但现在我在声明 obj 时遇到错误,'(key: AnyObject, value: AnyObject) is not conversionble to NSDictionary'

我做错了什么?

请注意 jsonDict 是一个 NSDictionary

当你遍历字典时,你会得到一个包含 (key, value) 的元组。在这行代码中:

var obj = item as NSDictionary

您正在尝试将 (key, value) 元组转换为 NSDictionary,这就是产生错误的原因。