Objective-c:将字典的JSON数组转换为NSDictionary

时间:2011-10-28 13:30:02

标签: objective-c nsdictionary

所以,我在JSON中有以下结构,我理解它是一个键/值对对象的数组:

{
"notification": [
    {
        "uid": "20",
        "count": "4"
    },
    {
        "uid": "48",
        "count": "0"
    },
    {
        "uid": "49",
        "count": "0"
    },
    {
        "uid": "53",
        "count": "0"
    }
]
}

使用SBJson解析这将导致一组字典,每个字典都有一个键/值对。

我想将所有这些词典“内爆”到一个包含许多键/值对的字典中。顺便说一下,不要担心重复。

最好的办法是什么?我如何遍历NSDictionary,一次访问一个项目并提取它的关键和价值?

有关于此的任何想法吗?

感谢。

- 康纳

2 个答案:

答案 0 :(得分:7)

简单地遍历现有的NSDictionary数组。这就是JSON的便利,您可以轻松地从Feed字符串中获取可用的数据结构。

NSArray *notifications = [[theFeedString JSONValue] objectForKey:@"notification"];  
// or whatever JSON helper you are using
for (NSDictionray *dict in notifications) {
   NSInteger uid = [[dict objectForKey:@"uid"] intValue];
   NSInteger count = [[dict objectForKey:@"count"] intValue];
   // do something with uid and count
}

答案 1 :(得分:0)

  1. 使用属性uidcount创建自定义类通知。
  2. 使用for语句迭代NSDictionary / NSArray。创建 并使用每个json上的解析数据初始化您的Notification对象 迭代
  3. 将该对象添加到新数组或字典中(对于您可以创建的字典) 一个与uid相同的键,例如)