2012-03-20 5 views
0

나는 바로 여기에이 코드에 문제가 있습니다. 가져 오는 작업을 알고 NSLog는 문제가 없지만 문제는 NSDictionary에서 시작됩니다. 나는 breakpoints로 몇 가지 테스트를했고 그 오류가 있음을 발견했다. 다음은 내 기록의 개요입니다.엑스 코드 JSON 문제

2012-03-20 23:15:13.210 Json test 2[13248:f803] laag 1: { 
    client =  (
       { 
      companyname = xxx; 
      datecreated = "2012-03-11"; 
      email = "xxxx"; 
      firstname = xxx; 
      groupid = 0; 
      id = 3; 
      lastname = O; 
      status = Active; 
     }, 
       { 
      companyname = "xxx"; 
      datecreated = "2012-03-02"; 
      email = "xxx"; 
      firstname = xxx; 
      groupid = 0; 
      id = 1; 
      lastname = "xxx"; 
      status = Active; 
     }, 
       { 
      companyname = ""; 
      datecreated = "2012-03-08"; 
      email = "xxx"; 
      firstname = xxx; 
      groupid = 0; 
      id = 2; 
      lastname = xxx; 
      status = Active; 
     }, 
       { 
      companyname = xxx; 
      datecreated = "2012-03-13"; 
      email = "xxx"; 
      firstname = xxx; 
      groupid = 0; 
      id = 4; 
      lastname = "xxx"; 
      status = Active; 
     } 
    ); 
} 
2012-03-20 23:15:13.212 Json test 2[13248:f803] -[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0x6821f30 
2012-03-20 23:15:13.213 Json test 2[13248:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0x6821f30' 
*** First throw call stack: 
(0x13c7022 0x1558cd6 0x13c8cbd 0x132ded0 0x132dcb2 0x21a2 0x13c8e42 0x9379df 0x139b94f 0x12feb43 0x12fe424 0x12fdd84 0x12fdc9b 0x12b07d8 0x12b088a 0x11626 0x1c3d 0x1ba5) 
terminate called throwing an exception(lldb) 

누군가 나를 도울 수 있습니까?

나는 10.7.3

답변

0

코드에 [json objectForKey:@"clients"]에 의해 반환되는 객체는 실제로 사전이 아닌 배열 사자에 SDK 5.1, 엑스 코드 4.3을 사용합니다. 먼저 해당 사전에서 "클라이언트"객체 (원하는 배열)를 추출해야합니다. 다음과 같이 할 수 있습니다.

NSDictionary *clients = [json objectForKey:@"clients"]; 
NSArray *announcements = [clients objectForKey:@"client"]; 
NSDictionary* announcement = [announcements objectAtIndex:0]; 
+0

Tnx 너무 좋아! 매력처럼 일 했어! – Roeliee