2017-08-14 47 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 } 

为了得到这个工作,名称必须是双引号内:“谢莉”等