如何从JsonArray中获取NSDictonarys?

时间:2013-12-20 17:01:52

标签: ios arrays json dictionary

我正在开发一个iOS项目,它将显示来自一个人的粉丝。 运行的Web服务器从不同的社交网络获取数据,并使用时间戳将它们保存到SQL数据库中。 iOS应用程序发出请求并从Sql数据库中获取Json。我将Json转换为数组并将其打印到控制台。

NSString *url = [NSString stringWithFormat:@"http://getdata.php"];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];

NSError *error;
NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
NSLog(@"%@",json);

输出:

(
    {
    date = "2013-12-11";
    facebook = 107;
    instagram = 47;
    twitter = 42;
},
    {
    date = "2013-12-12";
    facebook = 107;
    instagram = 45;
    twitter = 42;
},
    {
    date = "2013-12-13";
    facebook = 107;
    instagram = 45;
    twitter = 42;
})

所以我想做的就是将Facebook,Instagram和推特追随者与前一天进行比较。我怎么能这样做:获取整个对象,日期是今天。它将打印出来:

    date = "2013-12-13";
    facebook = 107;
    instagram = 45;
    twitter = 42;

感谢您的帮助,对不起我的英语!

1 个答案:

答案 0 :(得分:1)

您可以使用简单的for循环来枚举数组中的所有字典。为了比较每一天和前一天,你必须从索引1开始,如下所示:

for (NSUInteger i = 1; i < json.count; i++) {
    NSDictionary *currentDay = json[i];
    NSDictionary *previousDay = json[i-1];

    // Compare the follower counts for each social network here
}