iOS NSJSON返回Null

时间:2012-02-24 01:19:03

标签: iphone ios nsjsonserialization

我有以下代码

 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: (
    {
    UserNumber = 1;
}
)

然而 NSLog(@“输出:%@”,userNumber); 返回 NULL

我需要帮助弄清楚为什么NSString * userNumber = [result objectForKey:@“UserNumber”];似乎没有像它应该那样返回“1”。

1 个答案:

答案 0 :(得分:2)

将您的代码更改为:

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

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