提取 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
,这就是产生错误的原因。
我一直在从本地 .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
,这就是产生错误的原因。