我有这行代码,我想提取“标题”键:
failed
然而它不会让我编译,如果我收到红色的错误消息:
无法下标索引类型为String
的AnyObject类型的值
使用var title = jParams["title"] as! String
在日志中显示jParams的内容时,我会收到以下内容:
println(jParams)
我是Swift的新手,所以我不熟悉处理JSON来处理这类问题的细节。可能有什么不对?
INCOMING LIST PARAMETERS (jParameters)
Optional({
title = "Example List";
values = (
{
id = 1;
name = "Line 1";
},
{
id = 2;
name = "Line 2";
},
{
id = 3;
name = "Line 3";
}
);
})
答案 0 :(得分:11)
在您的编辑中,您似乎正在使用SwiftyJSON。
如果情况确实如此,您可以使用SwiftyJSON的dictionaryValue
属性帮助编译器知道字典中的内容:
let jParams = jdata["responseData"]["extraData"]["params"].dictionaryValue
然后,您应该能够访问您的值而无需向下转换:
let title = jParams["title"]
因为SwiftyJSON会推断出值的正确类型。