swiftyjson serialize parse example data ios json swift swifty-json

ios - serialize - Objeto SwiftyJSON de nuevo a cadena



swiftyjson local json file (2)

Estoy usando la biblioteca SwiftyJSON para analizar JSON en objetos swift. Puedo crear el objeto JSON y leer y escribir en él.

// Create json object to represent library var libraryObject = JSON(["name":"mylibrary","tasks":["Task1","Task2","Task3"]]) // Get println(libraryObject["name"]) println(libraryObject["tasks"][0]) // Set println("Setting first task to ''New Task''") libraryObject["tasks"][0] = "New Task" // Get println(libraryObject["tasks"][0]) // Convert object to JSON and print println(libraryObject)

Todo esto funciona como se esperaba. ¡Solo quiero convertir el objeto de biblioteca a una cadena en formato JSON!

El comando println (libraryObject) envía lo que quiero a la consola, pero no puedo encontrar una forma de hacerlo como una cadena.

libraryObject.Stringvalue y libraryObject.String devuelven valores vacíos, pero cuando intento, por ejemplo, println ("content:" + libraryObject), aparece un error al intentar agregar una cadena a un JSON


Desde el archivo README de SwiftyJSON en GitHub :

//convert the JSON to a raw String if let string = libraryObject.rawString() { //Do something you want print(string) }


Versión Swift 4

//convert the JSON to a raw String if let strJson = jsonObject.rawString() { // ''strJson'' contains string version of ''jsonObject'' } //convert the String back to JSON (used this way when used with Alamofire to prevent errors like Task .<1> HTTP load failed (error code: -1009 [1:50]) if let data = strJson.data(using: .utf8) { if let jsonObject = try? JSON(data: data) { // ''jsonObject'' contains Json version of ''strJson'' } }