So verwende ich AFNetworking 2.0 (ObjC Rahmen mit Bridging-Header), um einige Anfragen auf einem lokalen Server zu machen. Ich habe ein paar Tutorials gefolgt, um es mit Swift zu programmieren. Dies ist der Code:iOS Swift: Antwort Antwort Json mit AFNetworking
var success = { (operation:AFHTTPRequestOperation!, response:AnyObject!) -> Void in
println(response.description)
successBlock(result:response.description)
}
var failure = { (operation:AFHTTPRequestOperation!, response:NSError!) -> Void in
println(response.description)
errorBlock(error:response.description)
}
var manager = AFHTTPRequestOperationManager()
manager.responseSerializer = AFJSONResponseSerializer();
manager.GET("http://127.0.0.1:8080/api/manufacturer", parameters: nil, success: success, failure: failure)
Er ruft den JSON ab und druckt ihn erfolgreich. Die Antwort ist so etwas wie diese:
(
{
"_id" = 539f0973e3c7f4ab1f6078f5;
name = Manufacturer01;
},
{
"_id" = 539f18c5e3c7f4ab1f6078f6;
name = Manufacturer02;
}
)
aber ich bin nicht in der Lage, es zu analysieren ... Ich response[0]
versucht, das erste Element zu erhalten, aber es stürzt den Simulator und sogar Xcode6, wenn ich versuche zu tun: (lldb) > po response[0]
. Ich habe alles versucht, jedes Beispiel, das ich gesehen habe, erklärt, wie man das Ergebnis druckt, aber nichts über das Parsen jedes Feldes.
Das response
Objekt sieht wie folgt aus, wenn ich versuche, es zu debuggen:
value = Some {
Some = (instance_type = Builtin.RawPointer = 0x0b240710 -> 0x00bc5da0 (void *)0x00bc5db4: __NSCFArray)
}
Jeder Hinweis? Danke im Voraus!
Ich habe auch dieses Problem. Wie auf der Erde weise ich die JSON-Dictionary-Werte einer String-Variablen zu? Ich habe eine var 'var serverID: String?' Und beim Versuch 'self.serverID = responseObject [" server_id "] als? String 'es stürzt ab Xcode – Sean
Ich hatte Erfolg mit diesem Ansatz: http://stackoverflow.com/questions/24259756/unable-to-parse-json-from-afnetworkings-responseobject – heycarsten
@heycarsten Leider bekomme ich EXC_BAD_INSTRUCTION auf Simulator und EXC_BREAKPOINT auf Gerät mit diesem Code. :( – Koesh