【发布时间】:2013-01-11 12:18:39
【问题描述】:
JSON 响应如 - {"response":{"Success":"Y","items":[{"userid":"255"}]}}
我尝试这样解析:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *jsonStr = [[NSString alloc] initWithData:mutaebleData encoding:NSUTF8StringEncoding];
NSLog(@"JSonSTr : %@", jsonStr);
SBJSON *json = [[SBJSON alloc]init];
NSDictionary *dic = (NSDictionary *) [json objectWithString:jsonStr];
NSDictionary *dic1 = (NSDictionary *) [dic objectForKey:@"response"];
NSDictionary *dic2 = (NSDictionary *) [dic1 objectForKey:@"Success"];
NSDictionary *dic3 = (NSDictionary *) [dic1 objectForKey:@"items"];
NSDictionary *dic4 = (NSDictionary *) [dic3 objectForKey:@"userid"]; // App crash in this line
}
如何获取userid值?
【问题讨论】:
-
从错误看来 dic3 是一个数组而不是字典。你能 NSLog dic3 的类并检查一下吗?
-
查看您的 JSON - "items" 键与数组相关联,而不是字典。
-
这与您的问题无关,但请删除所有难看的演员表。它们在 Objective-C 中通常不是必需的,而且通常只是隐藏错误。
标签: iphone ios json parsing sbjson