【发布时间】:2014-03-27 11:57:22
【问题描述】:
将 JSON 数据放入 NSDictionary 时出现错误*。我收到的错误是因为无法识别密钥。
*错误[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x8d26cd0
JSON 字符串输出如下所示:
[{"Username":"TestUsername"}]
我正在使用的代码:
if(error == nil)
{
NSString * text = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"%@",text);
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
//Fails when using NSDictionary instead of NSArray
NSLog(@"json: %@", [json objectForKey:@"Username"]);
//NSLog(@"json: %@", json[0]);
}
当我使用 NSArray 时,这是输出:
{
Username = Elder;
}
【问题讨论】:
-
这里
json是NSArray而不是NSDictionary。所以[json objectForKey:@"Username"]会崩溃。所以改用[json[0] objectForKey:@"Username"],把json改成NSArray *json -
啊,谢谢。完美运行。
标签: ios objective-c json