2014-02-26 5 views
1

JSON을 사용하여 다음 NSArray를 초기화하고 있습니다.JSON에서 채워진 NSArray를 반복하십시오.

categorias = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil]; 

그것을 로깅 어레이에서 오브젝트의 수를 검색 할 수

NSLog(@"NUMERO DE EMPRESAS = %lu", (unsigned long)[categorias count]); 

오브젝트의 예상 수는 24이며, 로그가 맞습니다.

NUMERO DE EMPRESAS = 24 

지금, 내가 필요한 것은 24 개체를 반복하고 키 'latitud'에 대한 값을 표시하는 것입니다

내가 값을 얻기 위해, 대신 X의 넣어해야합니까
for (int i=0; i<[categorias count]; i++) { 
    NSString *lalitudText = x; 
    NSLog (@"EL VALOR ES %@", latitudText); 
} 

?

답변

2

오래된 구문을 사용하여이 넣을 수 있습니다 :

NSString *lalitudText = categorias[i][@"latitude"]; 
+0

categorias [I]; 이전 버전의 SDK 컴파일러에서 문제가 발생하지만 6.x에서는 문제가 없습니다. objectAtIndex는 Obj-C 스타일입니다. P –

+0

고맙겠지 만, 이것은 인덱스 i에있는 객체의 전체 내용을 보여줍니다. 단 하나의 키 (위도)의 내용 만 필요합니다. – mvasco

+0

@mvasco는 한 번만 회신합니다 ... 위의 해결책을 참조하십시오 :) –

1

사용 fast enumeration : 당신이해야 물론

for (NSDictionary *element in categorias) { 
    NSLog (@"EL VALOR ES %@", element[@"lalitud"]); 
} 

NSString *lalitudText = [[categorias objectAtIndex:i] objectForKey:@"latitude"]; 

새로운 구문이 작업을 수행 할 수 있습니다 "lalitud"물건의 열쇠를 조정하십시오.

+0

감사합니다,하지만 이것은 인덱스 i에있는 객체의 전체 내용을 보여줍니다. 위도 1 개의 키만 내용이 필요합니다. - – mvasco

1

사용 :

NSString *lalitudText = [categorias objectAtIndex:i]; 
+0

고맙지 만, 이것은 인덱스 i에있는 객체의 전체 내용을 보여줍니다. 위도 1 개의 키만 내용이 필요합니다. - – mvasco

+0

[categorias objectAtIndex : i]; 인덱스에서 Object를 반환합니다. 이 객체에서 다른 객체 등을 찾을 수 있습니다. –