ios - 键值 NSDictionary 的 SBJSON 问题

标签 ios sbjson

我得到如下的 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/

相关文章:

ios - 我有一个嵌套在 for-in 循环中的 if 语句,它的计算不正确

iphone - NSDate,比较两个日期

ios - 序列化 JSON 字符串 SBJSON vs NSJSONSerialization vs 其他?

iphone - SBJSON 解析器在第二次尝试时不起作用

ios - 如何在 ios 中将字典的双引号数组解析为 json?

android - 在 flutter 测试中比较两个 PinCode 文本字段

ios - AFJSONRequestOperation回调中的NSHTTPURLResponse如何获取响应数据?

objective-c - 无法从 connectionDidFinishLoading 中的数据解析 JSON – 也许是数据太多了?

iphone - 如何沿滚动动态加载带有项目的 iOS iCarousel

iphone - SBJson 解析尝试—— Objective-C