objective-c - 没有 key 的 SBJson 解析

标签 objective-c ios sbjson

我通过使用单例客户端 (RestKit) 获得响应得到了这个 json 字符串。

[
   {
      "created_at":"Tue Apr 24 19:25:14 +0000 2012",
      "id":132456,
   },
   {
      "created_at":"Tue Apr 24 19:25:14 +0000 2012",
      "id":13456,
   },
]

我得到了这个结果

NSDictionary *results = [[response bodyAsString] JSONValue];

这是什么结果

(
   {
      "created_at" = "Tue Apr 24 19:25:14 +0000 2012";
      "id"=132456;
   }
   {
      "created_at" = "Tue Apr 24 19:25:14 +0000 2012";
      "id"=132456;
   }
)

作为 NSDictionary。

如您所见,我没有可用的 key 。如果是这样,我会编写这样的代码 NSMutableArray *block = [results objectForKey:@"key"];。我试图为 objectForKey 放置和清空字符串,但它不起作用并给了我一个错误“objectForKey”。

问题: 如何在没有键的情况下解析每个 block 以将其放入数组中?

求助!谢谢!

最佳答案

这实际上是一个包含 2 个字典的数组。更改您的代码:

NSDictionary *results = [[response bodyAsString] JSONValue];

NSArray *results = [[response bodyAsString] JSONValue];

然后,如果需要,您可以使用 For-In 从该数组中获取所有字典。 key 似乎是 id 属性。

所以对于数组中的第一个:

NSDictionary *dictionary = (NSDictionary *)[results objectAtIndex:0];
NSInteger myKey = [[dictionary valueForKey@"id"] intValue];

关于objective-c - 没有 key 的 SBJson 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751259/

相关文章:

iphone - 从 Objective-C 中的文本文件读取单行

iphone - 将一组新数据写入 Plist 而不是覆盖它

ios - 在 Xcode 中使用键盘创建文本字段

json - JSON 和 SBJSON 的区别?

ios - 核心数据 NSFetchedResultsController 和排序

ios - Objective-c 中的循环和异步连接

ios - Cordova 在 Safari 中而不是在应用程序中打开 startPage

ios - 由于SBJson框架错误,无法将我的iOS项目转换为Objective-C ARC

iphone - SBJSON 解析器内存不足警告

iphone - 在 Objective-C 中释放对象的正确方法是什么