swiftyjson parse example array ios json swift

ios - parse - swiftyjson local json file



cómo analizar matriz de cadenas con SwiftyJSON? (4)

Simplemente haz esto:

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

Usando SwiftyJSON ¿cómo analizaría la siguiente matriz JSON en Swift [String] ?

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

He intentado este código, pero no funciona para mí:

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

¿Cuál sería la mejor manera de manejar esto? Gracias.


SwiftyJSON te permite extraer un String? usando $ 0.string o una String no opcional usando stringValue con un valor predeterminado de String vacío si el tipo no coincide.

Si quiere asegurarse de tener una matriz de cadenas con elementos positivos no falsos, use:

var stringArray = self.json["array"].array?.flatMap({ $0.string })

o en Swift 4.1

var stringArray = self.json["array"].array?.compactMap({ $0.string })

También puede reemplazar self.json["array"].array por self.json["array"].arrayValue para tener un resultado [String] lugar de [String]? .


Tienes un Dictionary que contiene una Array que contiene String s. Cuando accede a un valor en el Dictionary , devuelve una Array de String simple s. Lo iteras como lo harías con cualquier arreglo.

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


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

Usando SwiftyJSON, puede obtener una matriz de objetos JSON con:

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

La programación funcional facilita la conversión a [String] con la función ''mapa''. SwiftyJson te permite lanzar un tipo de cadena con el subíndice ''.string''

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