2016-06-15 8 views
0

JSON 데이터 세트가 구문 분석 중입니다. 데이터가 하지 수행은 다음과 같습니다 기록 포함JSON 세트에서 길이가 0 인 배열 확인

dictData: { 
    Recordset =  (
       { 
      Record = (
           { 
        MyDate = "2016-06-15 11:04:43"; 
        MyID = 53070; 
        SomeDescription = ""; 

       } 
      ); 
     } 
    ); 
} 

경우 : 데이터는 다음과 같습니다 기록이 포함 된 경우

공지 사항을 ""리턴 세트에있는 나를 일으키는 원인이되고있다.

dictData: { 
    Recordset =  (
     "" 
    ); 
} 

나는 레코드의 길이가 0 인 배열에 대한 회계 문제가 발생하고있다.

다음은 데이터를 구문 분석하기위한 기본 코드입니다. [arrRecordSet objectAtIndex:0] 길이가 0보다 크거나 카운트 크기를 확인하는 경우

NSDictionary * dictData = [NSDictionary dictionaryWithDictionary:[someOtherDictionary objectForKey:@"Data"]]; 
NSArray * arrRecordSet = [dictData objectForKey:@"Recordset"]; 

if([arrRecordSet objectAtIndex:0] != nil) { 
    NSLog(@"CONTAINS RECORDS"); 
    //Do something with the records 
} 
else { 
    NSLog(@"DOES NOT CONTAIN RECORDS"); 
} 

나는 확인 같은 것들을 다양한 반복을 시도했습니다.

나는 큰 따옴표가 나를 버리고 있다고 생각한다.

어떤 도움이 필요합니까?

UPDATE

RAW JSON을 요청한는

하나 RECORD

{ 
    APIResponse =  { 
     Data =   { 
      Recordset =    (
           { 
        Record =      (
               { 
          MyDate = "2016-06-15 11:04:43"; 
          MyID = 53070; 
          SomeDescription = ""; 
         } 
        ); 
       } 
      ); 
     }; 
    }; 
} 

NO는

{ 
    APIResponse =  { 
     Data =   { 
      Recordset = (
           "" 
      ); 
     }; 
    }; 
} 
+0

그것은 무엇을 말하는가? –

+0

그것은 1의 카운트를 보여줍니다. 만약 하나의 레코드가 리턴되면 그것은 또한 1의 카운트를 보여줍니다. –

+1

파싱 된 nsdictionary의 콘솔 로그 대신 유효한 JSON을 예제로 보여줄 수 있습니까? – arturdev

답변

0

성공의 경우 Recordset 값은 사전이있는 배열이고 실패한 경우 Recordset 값은 문자열이있는 배열입니다.

그래서 : 당신이 arrRecordSet.count를 기록 할 때

NSArray *recordSet = response[@"APIResponse"][@"Data"][@"Recordset"]; 
if ([recordSet count] > 0 && 
    [recordSet[0] isKindOfClass:[NSDictionary class]]) { 
    // Success 
    NSDictionary *record = recordSet[0]; 
    ... 
} else { 
    // Failure 
} 
+0

감사! 이것은 isKindOfClass를 검사하는 방법이었습니다! –

-1
기록

여기에 사전 Recordset에 대한 모든 키를 먼저 확인해야합니다. count> 0이면 데이터를 사용할 수 있다고 말하고 그렇지 않으면 빈 항목이 있다고 말할 수 있습니다.

관련 문제