2013-02-12 33 views
1

我解析JSON數據與JSONKit爲的NSMutableDictionary。JSONKit無效arguement當試圖複製

NSString *str = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding]; 

NSMutableDictionary *jsonResponse = [self.responseData objectFromJSONData]; 

NSMutableDictionary *newData = [[NSMutableDictionary alloc] init]; 
[newData addEntriesFromDictionary:[jsonResponse mutableCopy]]; 

當我這樣做我得到這個錯誤:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableDictionary addEntriesFromDictionary:]: dictionary argument is not an NSDictionary' 

我試圖找出是什麼原因造成了這個問題。我知道jsonResponse是JKArray從我其他經歷中的一個對象。

我需要幫助。 謝謝。

回答

0

嘗試以下操作:

id object = [self.responseData objectFromJSONData]; 
NSLog(@"%@", [object class]); 

最有可能你的反應是一個數組,而不是一本字典。


如果你真的想將數組轉換成一個字典,你可以做這樣的事情,使用自定義鍵:

NSArray *array = [self.responseData objectFromJSONData]; 
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObject:array forKey:@"posts"]; 

雖然也許有一些更好的選擇,如果你能告訴我你的數組的內容。

+0

響應是JKArray,就像我以前說過。 – 2013-02-12 01:02:49

+0

好吧,那麼這就是問題所在,你不能直接轉換數組到字典中。你想通過將數據放到字典中來達到什麼目的? – 2013-02-12 01:03:35

+0

事情是我寫的每個代碼都使用字典方法,如[[[self.eventList valueForKeyPath:@「picture」] valueForKeyPath:@「url」] objectAtIndex:indexPath.row];他們成功地工作,但是當我嘗試複製它時,它開始像數組一樣工作,並且不起作用。我不知道如何實現這一點。我只想從服務器中檢索最近發佈的帖子,並將其添加到我的數據中。 – 2013-02-12 01:07:39

相關問題