【问题标题】:Objective-c : Convert JSON array of dictionaries to NSDictionaryObjective-c:将字典的 JSON 数组转换为 NSDictionary
【发布时间】:2011-10-28 13:30:02
【问题描述】:

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

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

用 SBJson 解析这个将产生一个字典集合,每个字典都有一个键/值对。

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

这样做的最佳方法是什么?如何遍历 NSDictionary,一次访问每个项目并提取它的键和值?

对此有何想法?

谢谢。

--康纳

【问题讨论】:

    标签: objective-c nsdictionary


    【解决方案1】:

    只需遍历现有的NSDictionarys 数组即可。这就是 JSON 的便利之处,您可以轻松地从提要字符串中获取可用的数据结构。

    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
    }
    

    【讨论】:

    • 谢谢你......非常明显和简单,但在我的辩护中,那是星期五:D
    【解决方案2】:
    1. 使用属性uidcount 创建自定义类通知。
    2. 要遍历 NSDictionary/NSArray 使用 for 语句。创造 并使用来自json 的解析数据初始化您的 Notification 对象 迭代
    3. 将该对象添加到新数组或字典中(对于字典,您可以创建 例如,与uid 相同的密钥)

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多