2016-01-21 61 views
1

這裏面是響應:RestKit如何映射一個數組的數組

{ 
    "status": true, 
    "statuscode": 200, 
    "result": [ 
    { 
     "name": "ABC", 
     "date": "2015-01-30", 
     "documents": [ 
     { 
      "id": 1, 
      "name": "doc1", 
      "status": "complete", 
     }, 
     { 
      "id": 2, 
      "name": "doc2", 
      "status": "complete", 
     }, 
     { 
      "id": 3, 
      "name": "doc3", 
      "status": "complete", 
     } 
     ], 
     "message": "Hello World", 
     "status": 3 
    } 
    ] 
} 

我要地圖並獲得唯一所有的「文檔」裏的數組鍵入「結果」,我也不需要什麼其他對象/映射。我只需要這些文件。如何在響應描述符中完成/聲明,以便將所有這些文檔自動匹配到我的託管對象?

+0

那你試試?什麼沒有用? – Wain

回答

0

試試這個: -

NSDictionary *[email protected]{ 
        @"status": @true, 
        @"statuscode":@ 200, 
        @"result": @[ 
          @{ 
           @"name": @"ABC", 
           @"date": @"2015-01-30", 
           @"documents": @[ 
             @{ 
              @"id":@ 1, 
              @"name": @"doc1", 
              @"status": @"complete", 
              }, 
             @{ 
              @"id":@ 2, 
              @"name": @"doc2", 
              @"status":@ "complete", 
              }, 
             @{ 
              @"id":@ 3, 
              @"name": @"doc3", 
              @"status": @"complete", 
              } 
             ], 
           @"message": @"Hello World", 
           @"status":@ 3 
           } 
          ] 
        }; 

我存儲的NSDictionary您迴應並得到它 -

[[[dic objectForKey:@"result"] objectAtIndex:0] objectForKey:@"documents"] 

改變你的indexNumber的需要!

+0

這個答案與restkit無關 – Wain

0
NSDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; //From Server you will get response data in form of NSData , so the 'responseData' is a type of NSData 
NSArray *appDetais = [jsonData objectForKey:@"result"]; 
NSDictionary *resultJsonData = [appDetais objectAtIndex:0]; 
NSArray *documentDetailsArray = [jsonData resultJsonData:@"documents"]; 
for(int i=0;i<[documentDetailsArray count];i++){ 
    NSDictionary *singleDocumentDetail = [documentDetailsArray objectAtIndex:0]; 
    NSLog(@"%@",[singleDocumentDetail objectForKey:@"id"]); 
} 

你可以試試這個.. :)

+0

這個答案與restkit無關 – Wain