我得到如下的 JSON 字符串:
{"status": "ok", "secret": "d2d388eb3a24aaacb365597f69a2bf97", "client": "100006", "expires": "1345721042"}
为了解析 JSON 对象,我使用 SBJSON 库。
这是我用于从 JSON 对象检索数据的代码:
SBJsonParser *jsonParser = [[SBJsonParser alloc] init];
NSError *error = nil;
NSArray *jsonObjects = [jsonParser objectWithString:[request responseString] error:&error];
但是当我尝试进入 NSLog 我的字典时,我没有一对键值对象,但只有键,例如:status、secret、client 和 expires。
如何使用 SBJSON 库获取带有键值对象的 NSDictionary
{
status = "ok";
secret = "d2d388eb3a24aaacb365597f69a2bf97";
}
最佳答案
这是因为您将解析结果设置为 NSArray 对象。您应该将 JSONParser 的结果存储为 NSDictionary 对象,以将其存储为键值对
NSDictionary *jsonObjects = [jsonParser objectWithString:[request responseString] error:&error];
然后你可以像这样访问它们:
NSString *status = [jsonObjects objectForKey:@"status"];
NSString *secret = [jsonObjects objectForKey:@"secret"];
// and so on
关于ios - 键值 NSDictionary 的 SBJSON 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11629990/