SwiftyJSON object back to string

混江龙づ霸主 提交于 2019-11-29 06:07:14

问题


I'm using the SwiftyJSON library to parse JSON into swift objects. I can create the JSON object and read and write to it

// 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)

All of this works as expected. I just want to convert the libraryObject back to a string in JSON format!

The println(libraryObject) command outputs what I want to the console but I can't find a way to get it as a string.

libraryObject.Stringvalue and libraryObject.String both return empty values but when I try eg println("content: "+libraryObject) I get an error trying to append a String to a JSON


回答1:


From the README of SwiftyJSON on GitHub:

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



回答2:


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


来源:https://stackoverflow.com/questions/31142091/swiftyjson-object-back-to-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!