我是开发Xcode 5并且无法通过php连接到SQLServer的新手。 php结果如下:
{"user":[{"user_id":"2393", "id":"740049"}], "succeed":1}
这个网络服务不是由我而是由我的团队创建的。我试图通过NSLog跟踪进程,发现问题是我创建的NSDictionary无法读取这种格式。
这是我的NSDictionary
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:urlData option:NSJONReadingMutableContainers error:&error];
success=[json[@"success"] integerValue];
NSLog(@"Success:%ld", (long)success);
如果我的NSDictionary能够读取数据,那么成功应该是1,但它一直显示0.我发现问题是我无法在字典中解析该数组。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
错字:
success=[json[@"succeed"] integerValue];
// ^^^^^^^
答案 1 :(得分:0)
您错误输入了键值。它将是@“成功”。但是你键入@“success”
NSJSONSerialization *jsonData = [NSJSONSerialization JSONObjectWithData: urlData options:NSJSONReadingMutableContainers error:&error];
int success=[[(NSDictionary *)jsonData valueForKey:@"succeed"]integerValue];
NSLog(@"Success:%ld", (long)success);
答案 2 :(得分:0)
//returnString is {"user":[{"user_id":"2393", "id":"740049"}], "succeed":1};
NSDictionary *response = [returnString dataUsingEncoding:NSUTF8StringEncoding];
NSArray *users =[NSArray alloc]init];
if([[response valueForKey:@"succeed"] integerValue] == 1)
users = [response valueForKey:@"user"];
for(NSDictionary *user in users)
NSLog(@"User : %@", user);
示例输出
User: [{user_id:2393,id:740049},{user_id:2394,id:740050}...,{user_id:2395,id:740051}];