【发布时间】:2017-01-15 14:48:38
【问题描述】:
我正在尝试在 Swift 中创建一个嵌套字典,以便稍后将其更改为 JSON。我是这样设置的:
let item: [String: AnyObject] = [
"item": item,
"price": price,
"date": date,
"time": time,
"location": [
"store": "Store name",
"address": "1234 Untitled Dr.",
"city": "City",
"state": "CA",
"zip": "12345"
]
]
print(item)
当我运行它时,输出是这样的:
["price": 15.69, "location": {
address = "12350 Carmel MT Road";
city = "City";
state = CA;
store = "Store name";
zip = 12345;
}, "item": item, "date": , "time": ]
位置值应该是嵌套字典。为什么定位部分周围有花括号?为什么有引号的值不一致?此外,当我尝试访问时:
print(items["location"]!["store"])
有人告诉我:
不能用 `[[String : AnyObject]]' 类型的值下标 “字符串”类型的索引
【问题讨论】:
-
字典是结构体,我认为你需要做 [String:Any]
-
你不能下标
[[String:AnyObject]],因为那是一个字典数组。 -
尝试打印:
print((item["location"] as? [String: AnyObject])?["store"]) -
看起来您正在访问
items,它是一个数组,而不是item。看看我下面的答案。
标签: json swift dictionary