Vì vậy, tôi đang sử dụng AFNetworking 2.0 (khung công tác ObjC với Bridging-Header) để thực hiện một số yêu cầu trên máy chủ cục bộ. Tôi đã làm theo một vài hướng dẫn để mã nó bằng cách sử dụng Swift. Đây là mã:iOS Swift: Phân tích cú pháp phản hồi json với 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)
Nó truy xuất dữ liệu và in thành công. Câu trả lời là một cái gì đó như thế này:
(
{
"_id" = 539f0973e3c7f4ab1f6078f5;
name = Manufacturer01;
},
{
"_id" = 539f18c5e3c7f4ab1f6078f6;
name = Manufacturer02;
}
)
Tuy nhiên, tôi không thể phân tích nó ... Tôi cố gắng response[0]
để có được những yếu tố đầu tiên, nhưng nó bị treo trình giả lập và thậm chí Xcode6 khi tôi cố gắng để làm: (lldb) > po response[0]
. Tôi đã thử tất cả mọi thứ, mỗi ví dụ tôi đã thấy giải thích làm thế nào để in kết quả nhưng không có gì về phân tích cú pháp từng lĩnh vực.
Đối tượng response
trông như thế này khi tôi cố gắng để gỡ lỗi nó:
value = Some {
Some = (instance_type = Builtin.RawPointer = 0x0b240710 -> 0x00bc5da0 (void *)0x00bc5db4: __NSCFArray)
}
Bất kỳ đầu mối? Cảm ơn trước!
Tôi cũng gặp sự cố này. Làm cách nào để tôi gán các giá trị từ điển JSON cho một biến chuỗi? Tôi có một var 'var serverID: String?' Và khi cố gắng 'self.serverID = responseObject [" server_id "] là? String' nó bị treo Xcode – Sean
Tôi đã thành công với cách tiếp cận này: http://stackoverflow.com/questions/24259756/unable-to-parse-json-from-afnetworkings-responseobject – heycarsten
@heycarsten Thật không may tôi nhận được EXC_BAD_INSTRUCTION trên Simulator và EXC_BREAKPOINT trên Thiết bị có mã đó. :( – Koesh