如何在Swift中将一个嵌入式json分配给一个变量?
问题描述:
我的后端代码返回以下json
:如何在Swift中将一个嵌入式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
是dictionaryObject
属性,则返回[String:Any]?
对象,类型将其转换为[String:String]
会为你工作。
var openingHours:[String:String] = [:]
if(json["opening_hours"] != nil){
openingHours = json["opening_hours"].dictionaryObject as? [String:String] ?? [:]
}
答
从控制台中显示的错误。我们可以理解这是类型[String : String]
的Dictionary
的问题。
为了解决这个问题。尝试创建类型[String: JSON]?
将openinghours声明更改为'[String:JSON]' –
尝试'let openingHours = json [“opening_hours”]。 [:]' –