2017-08-14 8 views
0

値Iは、出力に次の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"] 

私は、次のスウィフトコードを持っています。上記の出力を助けてください。

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

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

:片道辞書のあなたの配列の値だけを取得するためにflatmap使用することです:

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

この作業を取得するためには、名前は二重引用符の内側にする必要があります名前の周りにも ""記号がないのは確かですか?それは私にとって適切なJSONのようには見えません。 –

答えて

0

あなたはStringの配列にDictionaryarrayOfDetailsの配列をmapする必要があります。 flatMapは、欠落しているキーを無視します。

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

これを実行する方法は多数あります。など「シェリー」、