我的后端代码返回以下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]'
如何才能轻松访问?
答案 0 :(得分:1)
您要查找的是dictionaryObject
属性,它会返回[String:Any]?
对象,因此将其强制转换为[String:String]
对您有用。
var openingHours:[String:String] = [:]
if(json["opening_hours"] != nil){
openingHours = json["opening_hours"].dictionaryObject as? [String:String] ?? [:]
}
答案 1 :(得分:0)
从控制台中显示的错误。我们可以理解Dictionary
类型的[String : String]
存在问题。
解决问题。尝试创建Dictionary
[String: JSON]?