У меня есть быстрое приложение, которое вызывает api и возвращает обратно JSON.Как изменить NSData на NSDictionary или JSON
self.get(url).responseJSON { (response) -> Void in
self.notify(FetchCompletion, response: response.response, result: response.result)
print("response: ")
print(response.response)
print("data: ")
let dataExample = response.data
print(dataExample)
let dictionary:NSDictionary? = NSKeyedUnarchiver.unarchiveObjectWithData(dataExample!)! as? NSDictionary
}
И печатает:
...
data:
Optional(<7b227374 61747573 223a2234 3034222c 22657272 6f72223a 224e6f74 20466f75 6e64227d>)
fatal error: unexpectedly found nil while unwrapping an Optional value
Я хочу, чтобы просто распечатать данные некоторые машиночитаемой форме путем преобразования в словарь.
EDIT 1
функцияМой прибудете() определяется как таковую:
func get(path: String) -> Request {
return self.get(path, data: NSDictionary())
}
EDIT 2
Я использую
import UIKit
import Alamofire
import SwiftyJSON
EDIT 3
Я пытался следовать примеру здесь: How to parse JSON in Swift using NSURLSession
Но получаю ошибку "неразрешенного идентификатора" JSONSerialization"
EDIT 4/вероятный ответ
var newdata = JSON(data: dataExample!)
print(newdata)
выведенное:
{
"status" : "404",
"error" : "Not Found"
}
Я считаю, что это json, и я правильно печатаю читаемые данные, поэтому считаю, что это ответ. Я привели к этому комментарию предлагая использовать swiftJSON
использования SwiftyJSON - https://github.com/ SwiftyJSON/SwiftyJSON –
Как определяется 'Request'? –
Обратите внимание, что ваш ответ «{» status »:« 404 »,« error »:« Not Found »}'. Не используйте 'NSKeyedUnarchiver.unarchiveObjectWithData', используйте' NSJSONSerialization.JSONObjectWithData (data: dataExample options: 0) ' – Larme