swiftyjson responses parse example ios json swift swifty-json

ios - responses - Cómo convertir una cadena en JSON usando SwiftyJSON



swift alamofire github (4)

En realidad, había una función incorporada en SwifyJSON llamada parse

/** Create a JSON from JSON string - parameter string: Normal json string like ''{"a":"b"}'' - returns: The created JSON */ public static func parse(string:String) -> JSON { return string.dataUsingEncoding(NSUTF8StringEncoding) .flatMap({JSON(data: $0)}) ?? JSON(NSNull()) }

Tenga en cuenta que

var json = JSON.parse(stringJSON)

ahora ha cambiado a

var json = JSON.init(parseJSON:stringJSON)

La cadena a convertir:

[{"description": "Hi","id":2,"img":"hi.png"},{"description": "pet","id":10,"img":"pet.png"},{"description": "Hello! :D","id":12,"img":"hello.png"}]

El código para convertir la cadena:

var json = JSON(stringLiteral: stringJSON)

La cadena se convierte a JSON y cuando intento contar cuántos bloques hay dentro de este JSON (respuesta esperada = 3), obtengo 0.

print(json.count)

Salida de consola: 0

¿Qué me estoy perdiendo? La ayuda es muy apreciada.


Estoy usando de la siguiente manera:

let yourString = NSMutableString() let dataToConvert = yourString.data(using: String.Encoding.utf8.rawValue) let json = JSON(data: dataToConvert!) print("/nYour string: " + String(describing: json))


Hola chicos, lo soluciono de esta manera ...

nota: utilizaré la variable "cadena" como la variable que contiene el JSON

codificar la picadura con NSData como este

var encodedString : NSData = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)!

2º descodificar la cadena codificada (esto puede sonar un poco raro jejeje)

var finalJSON = JSON(data: encodedString)

¡Y tú puedes hacer lo que quieras con este JSON! :RE

como obtener el número de secciones en él (esta era la verdadera pregunta) con

finalJSON.count o print(finalJSON[0]) o lo que print(finalJSON[0]) hacer ..

Entonces, espero que disfrutes la forma en que lo encontré!

sigue codificando, gabriel cuadros: d


Swift4

let json = string.data(using: String.Encoding.utf8).flatMap({try? JSON(data: $0)}) ?? JSON(NSNull())