2014-01-23 23 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 –