如何用SwiftyJSONparsingstring数组?

如何使用SwiftyJSON将下面的JSON数组parsing为Swift [String]

 { "array": ["one", "two", "three"] } 

我已经试过这个代码,但它不适合我:

 for (index: String, obj: JSON) in json["array"] { println(obj.stringValue) } 

什么是处理这个最好的方法? 谢谢。

 { "myArray": ["one", "two", "three"] } 

使用SwiftyJSON,你可以得到一个JSON对象数组:

 var jsonArr:[JSON] = JSON["myArray"].arrayValue 

函数式编程使您可以轻松地使用“映射”function转换为[string]。 SwiftyJson让我们用下标'.string'

 var stringArr:[String] = JSON["myArray"].arrayValue.map { $0.stringValue} 

只需做到这一点:

 for stringInArray in json["array"]{ let value = stringInArray.1.stringValue } 

你有一个Dictionary ,它拥有一个包含StringArray 。 当你访问Dictionary一个值时,它返回一个简单的String Array 。 你像任何数组一样迭代它。

 for obj in json["array"] { println(obj.stringValue) } 

你需要做的是首先过滤所有的非string, 然后转换为string与地图。

var stringArray = self.json["array"].array?.filter({ $0.string != nil }).map({ $0.string! })

如果你不先过滤,你的应用程序会崩溃,如果你有别的东西,而不是你想要的东西,尤其是当数据来自另一个来源。