2011-03-13 5 views

답변

58

JSONKit과 함께 제공되는 NSString 인터페이스를 사용하십시오. 예를 들어 :

NSDictionary *deserializedData = [jsonString objectFromJSONString]; 

당신은 당신이 JSON 데이터에서 얻을, 그렇지 않으면 당신은 그것의 유형을 알아 내기 위해 다시 얻을 개체를 테스트하는거야 컨테이너 어떤 종류의 미리 알아야 할 것 중 하나. (이 경우에는 -isKindOfClass :를 사용할 수 있습니다.) 대부분의 경우 JSON 데이터의 내용을 이미 알고 있기 때문에 사전이나 배열을 기대할 수 있습니다.하지만 여전히 클래스의 클래스를 확인하는 것이 좋습니다. 당신이 돌아 오는 물건.

+1

답장을 보내 주셔서 감사합니다. 나는 {ResultCount = 7; ResultLimit = 30; ResultList = ({AlbumId = 111, ArtistId = 203}, {AlbumId = 112, ArtistId = 203}); 상태 = 0}. ResultList는 배열입니다. AlbumId와 ArtistId를 Array로 가져 오는 방법은 무엇입니까? –

+2

당신이 사전을 가지고있는 것 같아서, 내가 위에서 보여준 선은이 경우에 효과가 있어야합니다. 원하는 키는 "ResultList"이므로,'NSArray * resultList = [deserializedData objectForKey : @ "ResultList"];'라고 말하면 사전의 연관된 배열을 얻을 수 있습니다. resultList의 각 객체는 "AlbumID"및 "ArtistID"키가 포함 된 사전이 될 것입니다. 대신 두 값의 배열을 분리하려면 NSArray * albums = [resultList valueForKey : @ "AlbumID"];'를 사용하십시오. ArtistID와 동일합니다. – Caleb

+1

나는 한 블록 씩 다른 블록을 치고있다. 배열을 반복하려고하면 응용 프로그램이 종료됩니다. for (int i = 0; i <[결과 배열 개수]; i ++) { \t \t \t NSLog (@ "Value % @ :", i); \t \t} –