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''
}
}