Ответ 1
Из README of SwiftyJSON на GitHub:
//convert the JSON to a raw String
if let string = libraryObject.rawString() {
//Do something you want
print(string)
}
Я использую библиотеку SwiftyJSON для анализа JSON в быстрых объектах. Я могу создать объект JSON и читать и писать ему
// 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)
Все это работает так, как ожидалось. Я просто хочу преобразовать libraryObject обратно в строку в формате JSON!
Команда println (libraryObject) выводит то, что я хочу для консоли, но я не могу найти способ получить ее как строку.
libraryObject.Stringvalue и libraryObject.String возвращают пустые значения, но когда я пытаюсь eg println ( "content:" + libraryObject), я получаю сообщение об ошибке, пытающееся добавить строку в JSON
Из README of SwiftyJSON на GitHub:
//convert the JSON to a raw String
if let string = libraryObject.rawString() {
//Do something you want
print(string)
}
//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'
}
}