如何将嵌入的 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] ?? [:]
}
我的后台代码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] ?? [:]
}