如何将嵌入的 json 分配给 Swift 中的变量?

how can I assign an embedded json to a variable in Swift?

我的后台代码returns如下json:

...
 "_id": "some_id",
 "opening_hours": {
    "mon": "9-5",
    "tue": "9-5",
    "wed": "9-5",
    "thu": "9-5",
    "fri": "9-5",
    "sat": "10-3",
    "sun": "closed"
}
...

我想将 opening_hours 分配给我的 Swift 应用程序中的一个变量,这样我就可以从那里轻松访问不同的日期。我正在使用 SwiftyJSON.

我试着用下面的代码来做:

var openingHours:[String:String] = [:]
    if(json["opening_hours"] != nil){
        openingHours = json["opening_hours"].dictionary
    }

但我有一个错误:

Cannot assign value of type '[String : JSON]?' to type '[String : String]'

那我怎样才能使它易于访问?

来自控制台中显示的错误。我们可以理解为 Dictionary 类型 [String : String] 的问题。

为了解决问题。尝试创建类型为 [String: JSON]?

Dictionary

您正在寻找的是 dictionaryObject 属性,它将 return [String:Any]? 对象,因此将其类型转换为 [String:String] 对您有用。

var openingHours:[String:String] = [:]
if(json["opening_hours"] != nil){
    openingHours = json["opening_hours"].dictionaryObject as? [String:String] ?? [:]
}