2012-11-04 6 views
1
JSON의

예 사용하여 멀티 JSON를 벗어난있는 NSDictionary를 만들려면 어떻게해야합니까 :내가 NSJSONSerialization

참고 :은 "문서"배열이 큰 배열의 다양한 배열 중 하나입니다.

{ 
     "Docs": { 
      "Title1": { 
       "id": "1", 
       "active": "0", 
       "title": "xxx", 
       "date": "October 22, 2012", 
       "description": "Description here", 
       "ext": "DOCX", 
       "when": "Tuesday, October 23", 
       "subject": "French", 
       "author": "xx xD", 
       "email": "[email protected]", 
       "day": "Tuesday, October 23", 
       "dl": "9 downloads" 
      }, 
      "Title2": { 
       "id": "2", 
       "active": "0", 
       "title": "Vocab, Page 64", 
       "date": "October 22, 2012", 
       "description": "Description goes here", 
       "ext": "XLSX", 
       "when": "Tuesday October23", 
       "subject": "French", 
       "author": "xxxxxx", 
       "email": "[email protected]", 
       "day": "Tuesday October23", 
       "dl": "3 downloads" 
      } 
     } 

어떻게 예를 들어, "문서"배열 (문서)의 제목을 가져오고 또한 문서 배열의 배열의 수의 수를 취득하는있는 NSDictionary를해야합니까? 감사. 나는 이것을하는 방법에있어서 매우 혼란 스럽다. 이 같은

답변

3

뭔가 : 당신이 직렬화 된 데이터를 일단

NSError *e = nil; 
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &e]; 

, 당신은 사전을 반복 할 수는 요소를 읽을 수 있습니다. 객체 수를 얻으려면 :

// Get your object "Docs" from the root object 
NSDictionary *dictionaryObject = (NSDictionary *)[JSON objectForKey:@"Docs"]; 

// Get the count by counting the keys 
NSArray * allKeys = [dictionaryObject allKeys]; 
NSLog(@"Count : %d", [allKeys count]); 
+0

이것은 내가 원하는 것입니다. docs 배열은 예제 일뿐입니다. 큰 배열의 모든 배열 이름의 가치를 알아야합니다 ... – 1789040

+1

@ user1789040 [무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) 좋은 예를 들어 보았습니다. 네가 시작 했어. 스택 오버플로는 코드 작성 서비스가 아닙니다. – Abizern

+0

분명히 스택 오버플로는 코드 작성 서비스가 아닙니다. 나는 (성공적으로) 하나의 배열에서 데이터를 얻으려고 시도했지만 그룹화 된 배열에서 데이터를 가져올 수 없다. – 1789040