2012-08-26 104 views
0

我這樣讀了JSON文件:閱讀對象

NSString *fileContentHomework = [[NSString alloc] initWithContentsOfFile:homeworkPath]; 

SBJsonParser *parserHomework = [[SBJsonParser alloc] init]; 

NSDictionary *dataHomework = (NSDictionary *) [parserHomework objectWithString:fileContentHomework error:nil]; 

NSArray *nameofHomework = [dataHomework objectForKey:@"nameH"]; 
NSArray *homeworkDifficulty = [dataHomework objectForKey:@"difficultyH"]; 

CHOrderedDictionary* DictionaryHomework = [CHOrderedDictionary dictionaryWithObjects:homeworkDifficulty forKeys:nameofHomework]; 

...然後...

NSArray *allKeys2 = [DictionaryHomework allKeys]; 


     for (int i = 0; i < [allKeys count]; i++) { 

....

NSString *key2 = [allKeys2 objectAtIndex:i]; 

      NSObject *obj2 = [DictionaryHomework objectForKey:key2]; 

      int val; 
      val = [key2 intValue]; 

...

JSON文件如下所示:

{"difficultyH":["name", "name"],"nameH":["2", "2"]} 

我注意到,如果該文件中的數據是相等的,像上面的應用程序給我的objectAtIndex錯誤,而如果數據是不同的,就像在以下情況下,應用程序正常工作:

{"difficultyH":["name", "name2"],"nameH":["2", "3"]} 

爲什麼?

回答

0

它與JSON無關。在第一種情況下,你試圖用重複鍵構造一個NSDictionary。這是行不通的。