lantianyiming 2013-08-05 08:44 采纳率: 0%
浏览 2917
已采纳

如何访问NSDictionary的内容

在访问字典内容的时候失败:

NSLog(@"self.userCommentsArray %@",self.userCommentsArray);返回null。

请帮忙:

NSData *jsonData = [NSData dataWithContentsOfURL:myURL];
NSDictionary *userCommentsDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
    NSLog(@"userCommentsDictionary %@",userCommentsDictionary); // this works
    self.userCommentsArray = [[userCommentsDictionary objectForKey:@"from"] objectForKey:@"name"];
    NSLog(@"self.userCommentsArray %@",self.userCommentsArray); 

这是dicitionary的NSlog输出:

userCommentsDictionary {
        data =     (
                    {
                created = "2013-07-16T18:42:56+02:00";
                from =             {
                    id = 27;
                    name = "user-4";
                };
                id = 2553;
                message = "liquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum";
            },
                    {
                created = "2013-07-16T18:42:56+02:00";
                from =             {
                    id = 28;
                    name = "user-5";
                };
                id = 2554;
                message = "x ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum";
            },
                    {
                created = "2013-07-19T16:18:56+02:00";
                from =             {
                    id = 24;
                    name = "user-1";
                };
                id = 5125;
                message = test comment;
            },
                    {
                created = "2013-07-19T17:00:21+02:00";
                from =             {
                    id = 24;
                    name = "user-1";
                };
                id = 5126;
                message = "test comment ";
       }
        );
        meta =     {
            totalCount = 18;
        };
    }
  • 写回答

1条回答 默认 最新

  • ReyZhang 移动开发领域新星创作者 2013-08-05 09:00
    关注

    userCommentsDictionary 中可以根据data得到一组数据。你要找的内容就在这一组数据中

    NSArray *data=userCommentsDictionary[@"data"];
    

    这时返回的是一个数组,你可以根据下标索引取任意一行中的数据,也可以循环遍历所有的数据。下面的代码取的是第一行的数据

     id entity=[data objectAtIndex:0];
    

    再取对象中的from下的name

    NSString *name=entity[@"from"][@"name"];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记