2013-02-27 7 views
-2

나는 JSON에서 다음과 같은 응답이 있고, 나는 그것이구문 분석 JSON 응답 아이폰의 목표 C

[{"WordArray":[{"Id":11,"Word1":"ODDER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":225,"Word1":"PRAG","Category":"International by","Differculty":1,"Language":"Danish"}]},{"WordArray":[{"Id":3,"Word1":"TIGER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":154,"Word1":"BOLLE","Category":"Mad og drikke","Differculty":1,"Language":"Danish"}]}, 
{"WordArray":[{"Id":3,"Word1":"TIGER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":147,"Word1":"PIZZA","Category":"Mad og drikke","Differculty":1,"Language":"Danish"}]}] 

나는 운없이 다음 시도 구문 분석 할 수 있겠군요 오전

NSMutableArray* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; 

NSMutableArray * roundWords = [[NSMutableArray alloc]retain ]; 

roundWords = [json objectAtIndex:i]; 

JSON은 포함되어 내 3 'WordArray'하지만 진행 방법을 잘 모르겠습니다. WordArray의 각 항목을 반복하고 NSLog의 Word1 값을 어떻게 반복합니까?

감사합니다.

+0

또한 Xcode와 원격으로 관련이 없습니다. –

답변

1

는 어떻게 WordArray 및 NSLog에서 각각의 항목 WORD1 값

를 사용하여 빠른 열거를 반복 할.

그런데
for (NSDictionary *dict in array) { 
    NSLog(@"%@", [dict objectForKey:@"Word1"]); 
} 

, 코드가 여러 장소에서 잘못 :

NSMutableArray *roundWords = [[NSMutableArray alloc] retain]; 
roundWords = [json objectAtIndex:i]; 

하나 하나가 retain이 같은 alloc와 체인 사용하지 않습니다. 객체를 초기화하려면 init을 사용하십시오.

2 개 : ARC를 사용하지 않으면 (그럴 필요가 없습니다), 그 행으로 메모리가 누출됩니다. 원래 어레이의 포인터는 다른 것을 다시 할당하기 때문에 폐기됩니다.

세 : [json objectAtIndex:i]NSMutableArray 아니다 - 그것의 NSDictionary (그런데 불변 ,입니다 선언 마법하지 않은 - 당신이 당신의 변수를 선언하지만, 그것은 NSJSONSerialization은 불변을 반환한다는 사실에 영향을 미치지 않습니다. 사전에 달리 명시하지 않는 한).