gpt4 book ai didi

json - 嵌套字典 Swift 花括号?

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:29 25 4
gpt4 key购买 nike

我正在尝试在 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"])

有人告诉我:

Cannot subscript a value of type `[[String : AnyObject]]' with an index of type 'String'

最佳答案

简答:
使用 [String: Any] 而不是 [String: AnyObject]

更长的答案::
问题是 Foundation 自动将 Swift 核心类型桥接到 Cocoa。这就是说,由于 AnyObject 约束,Swift Dictionary 被自动桥接到 NSDictionary ,Swift 结构不能转换为 AnyObjectDictionary 是一个结构。

print 函数调用 description 属性,对于 NSDictionary 来说,它带有花括号。

当指定 Any 而不是 AnyObject 时,Swift 只会将变量类型设置为带有方括号 description 的 Dictionary。

附言
关于 subscript,我想你那里有一个数组,所以你应该使用像 items[0]["location"]!["store"] 这样的东西。

关于json - 嵌套字典 Swift 花括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39377904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com