2014-01-23 33 views
4

我有AFNetworking 1.0此调用返回从API我想要的数据responseObject如何让我的AFNetworking“responseObject”收到我可以解析的NSDictionary?

[[AFDiffbotClient sharedClient] postPath:@"http://diffbot.com/api/batch" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 

但是,我不知道如何处理responseObject

如果我检查[responseObject class]我得到NSData

如果我我NSLog(@"%@", responseObject)得到一串数字(内存地址我假设):

< 5b0a7b22 68656164 65727322 3a5b7b22 6e616d65 223a6e75 6c6c2c22 76616c75 65223a22 48545450 2f312e31 20323030 204f4b22 7d2c7b22 6e616d65 223a2244 61746522 2c227661 ...

如果我做的:

NSString *responseString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; 
NSLog(@"%@", responseString); 

我得到的输出t我想要的帽子! 但是,这是一个NSString

如果我做的:

NSError *error; 
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error]; 
NSLog(@"%@", responseDictionary); 

我得到一个NSDictionary,但它缺少绝大多数响应的(即:我不明白什么是包含在NSString方法)。

我该如何处理这个对象?

+0

你有没有尝试使用JSON编码得到的PHP的数据?这很容易处理。 – Dinesh

+0

你究竟是什么意思? –

+0

显示示例字符串内容和相应的字典内容以及返回的任何错误。 – Wain

回答

7

这是我要做的事..

- (void) requestDataFinish:(NSData *)data withError:(NSError *)networkError 
{ 
    NSDictionary *responseData; 
    NSError *error = nil; 
    if (data != nil) { 
     responseData = [NSJSONSerialization JSONObjectWithData:data 
                 options:NSJSONReadingMutableContainers 
                 error:&error]; 
    } 
... 
+1

我想吻你的嘴巴。 (这是修复它的NSJSONReadingMutableContainers。) –

+4

没有图片。然后没有吻LOL –