2017-04-25 41 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]?

相關問題