Ich habe eine schnelle App, die API aufruft und ein JSON zurückerhält.So ändern Sie ein NSData in ein NSDictionary oder 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
}
Und es ausdruckt:
...
data:
Optional(<7b227374 61747573 223a2234 3034222c 22657272 6f72223a 224e6f74 20466f75 6e64227d>)
fatal error: unexpectedly found nil while unwrapping an Optional value
Ich mag nur aus den Daten drucken ist etwas lesbare Form von in ein Wörterbuch zu konvertieren.
EDIT 1
Mein get() Funktion wird als solche definiert:
func get(path: String) -> Request {
return self.get(path, data: NSDictionary())
}
EDIT 2
Ich bin mit
import UIKit
import Alamofire
import SwiftyJSON
EDIT 3
ich versucht, hier dem Beispiel zu folgen: How to parse JSON in Swift using NSURLSession
Aber der Fehler
EDIT 4/wahrscheinliche Antwort
var newdata = JSON(data: dataExample!)
print(newdata)
"ungelöste Kennung 'jsonSerialization'" erhalten ausgegeben:
{
"status" : "404",
"error" : "Not Found"
}
Ich glaube, dass dies ein JSON ist und ich die lesbaren Daten richtig drucke, also glaube ich, dass dies die Antwort ist. Ich wurde dies durch den Kommentar führte was darauf hindeutet, swiftJSON zu verwenden
Verwendung SwiftyJSON fragen - https://github.com/ SwiftyJSON/SwiftyJSON –
Wie ist 'Anfrage' definiert? –
Beachten Sie, dass Ihre Antwort "{" status ":" 404 "," error ":" Not Found "}' lautet. Verwenden Sie nicht 'NSKeyedUnarchiver.unarchiveObjectWithData', verwenden Sie' NSJSONSerialization.JSONObjectWithData (data: dataExample Optionen: 0) ' – Larme