2017-08-14 37 views
0

我得到的輸出以下JSON值:斯威夫特 - JSON數組值

[["category_title": Shelly], ["category_title": Thaddeus], 
["category_title": Chantale], ["category_title": Adara], 
["category_title": Mariko], ["category_title": Felicia]] 

但我想它象下面這樣:

["Shelly","Thaddeus","Chantale", "Adara","Mariko","Felicia"] 

我有以下SWIFT CODE。請幫助我獲得以上輸出。

func successGetTermsData(response: Any){ 
    var UserRole : String = "" 
    var arrayOfDetails = response as? [[String: Any]] ?? [] 

    UserRole = arrayOfDetails as? String ?? "" 
    print(arrayOfDetails) 
} 
+1

你確定名稱周圍沒有「?」符號嗎?這對我來說似乎不是一個合適的JSON。 –

回答

0

你要的DictionaryarrayOfDetails陣列mapString數組。 flatMap忽略缺少的密鑰。

if let arrayOfDetails = response as? [[String: String]] { 
    let userRole = arrayOfDetails.flatMap { $0["category_title"] } 
    print(userRole) 
} 
0

有很多方法可以做到這一點。一種方法是使用flatmap你的字典的數組中得到公正的價值觀:

let arrayOfValues = arrayOfDetails.flatMap { $0.values } 

爲了得到這個工作,名稱必須是雙引號內:「謝莉」等