2017-04-25 18 views
0

我的后端代码返回以下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]' 

我怎样才能使它方便呢?

+2

将openinghours声明更改为'[String:JSON]' –

+0

尝试'let openingHours = json [“opening_hours”]。 [:]' –

回答

1

你在找什么的DictionarydictionaryObject属性,则返回[String:Any]?对象,类型将其转换为[String:String]会为你工作。

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

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

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

相关问题