在swift中创建嵌套词典的问题

在swift中创建嵌套词典的问题,swift,Swift,我正在学习swift,并尝试创建simple(如js)字典,它将从传入的json中保留值 var QUOTES: Dictionary<String, Dictionary<String, Any>> var data: [Dictionary<String,Any>] = [ ["ticker": "AAPL", "price": 100, "name": "Apple Company", "some": "something"], ["ti

我正在学习swift,并尝试创建simple(如js)字典,它将从传入的json中保留值

var QUOTES: Dictionary<String, Dictionary<String, Any>>
var data: [Dictionary<String,Any>] = [
    ["ticker": "AAPL", "price": 100, "name": "Apple Company", "some": "something"],
    ["ticker": "F", "price": 150, "name": "Ford Company"],
    ["ticker": "FB", "price": 1000, "name": "Facebook Company"],
]

for quote in data {
    var ticker = quote["ticker"] as! String

    for (key, value) in quote {
        QUOTES[ticker][key] = value //it fails with error
    }
}
var引号:字典
变量数据:[字典]=[
[“股票代码”:“AAPL”,“价格”:100,“名称”:“苹果公司”,“一些”:“某物”],
[“股票代码”:“F”,“价格”:150,“名称”:“福特公司”],
[“股票代码”:“FB”,“价格”:1000,“名称”:“Facebook公司”],
]
对于数据中的报价{
var ticker=quote[“ticker”]作为!字符串
对于报价中的(键、值){
QUOTES[ticker][key]=值//失败并出现错误
}
}
我得到一个错误:

未展开可选类型“[String:Any]”的值;你想用“!”吗还是“?”

我已经阅读了所有关于展开值的内容,但是把
没有帮助


如何填写所需的词典?

引用
具有类型
(键:字符串,值:任意)
。这可能不是您想要的。您应该创建一个新的
struct
class
数组来为数据建模,而不是创建一个字典数组。字典不能很好地处理这样的异构类型数据。
quote
具有类型
(key:String,value:Any)
。这可能不是您想要的。您应该创建一个新的
struct
class
数组来为数据建模,而不是创建一个字典数组。字典不能很好地处理这样的异构类型数据。