1

我正在使用 JSONKit 作为 NSMutableDictionary 解析 JSON 数据。

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 的一个对象。

我需要帮助。谢谢。

4

1 回答 1

0

尝试以下操作:

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

您的响应很可能是一个数组而不是字典。


如果您真的想将数组转换为字典,您可以使用自定义键执行以下操作:

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

如果您可以向我展示您的数组的内容,也许会有一些更好的选择。

于 2013-02-12T00:57:35.890 回答