iOS NSJSON返回空值

我有以下代码

hostStr = [hostStr stringByAppendingString:post]; NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]]; NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding]; NSError *error = nil; NSDictionary *result = [NSJSONSerialization JSONObjectWithData:dataURL options:kNilOptions error:&error]; NSArray *files = [result objectForKey:@"GV_Return"]; NSLog(@"Files: %@", files); // For Each Key we seperate the data and add it to an object to be used. for (NSDictionary *file in files) { NSString *userNumber = [result objectForKey:@"UserNumber"]; NSLog(@"output: %@", userNumber); } 

我遇到的问题是NSLog(@“Files:%@”,files); 回报我所期望的

 Files: ( { UserNumber = 1; } ) 

不过NSLog(@“output:%@”,userNumber); 返回NULL

我需要帮助搞清楚为什么NSString * userNumber = [result objectForKey:@“UserNumber”]; 似乎没有回到“1”,因为它应该。

将您的代码更改为:

 for (NSDictionary *file in files) { NSString *userNumber = [file objectForKey:@"UserNumber"]; NSLog(@"output: %@", userNumber); } 

file objectForKey... ,而不是result objectForKey... 您正在遍历files数组,其中每个条目都被标识为for循环中代码的file