【问题标题】:Using AFNetworking for Web Service data retrieval使用 AFNetworking 进行 Web 服务数据检索
【发布时间】:2014-03-26 18:09:26
【问题描述】:

在这一点上学得很快,所以我会说这是我 99% 的错误。

为我的第一个应用尝试一个简单的过程。 我想从 Web 服务获取数据并将某些内容输出到标签。 我是一名 .NET 开发人员,因此 Web 服务已完成并在浏览器中按预期返回 JSON 数据。 {"GetVenuesForBrandResult":[{"brandID":0,"createdDate":"/Date(-62135596800000+0000)/","venueID":2,"venueName":"HMV Records"}]}

看了 SO 之后,决定使用 AFNetworking,2.0 版,作为 pod 加载。

所以在获取数据方面一切正常,但请回答 2 个问题; 1) Xcode 中的输出视图显示数据; GetVenuesForBrandResult=({brandID = 0;createdDate = "/Date(-62135596800000+0000)/";venueID = 2;venueName = "HMV 记录"; } ); 这只是用于显示目的的 XCode5 格式吗?我的数据会是真正的 json 吗? 2)我如何消费这个? 尝试检查 isKindOfClass 是否为 nsarray 或 nsdictionary,如果条件从未满足。这让我怀疑 Q1 是问题所在。

感谢您对 Xcode 新手的帮助。


根据 Paul 的出色提示,我的代码的相关部分在这里; Web 服务链接现在是硬编码的,用于测试目的

NSString *urlstring =     @"http://hiddenurl/shopBeaconService/Service1.svc/GetVenuesForBra nd/1";
        //NSString *str2 = self.email.text;
        //NSString *str3 = @"/";
        //NSString *str4 = [self.password text];
        //NSString *urlstring = [NSString stringWithFormat:@"%@%@%@%@",str1,str2,str3,str4];

        NSURL *url = [NSURL URLWithString:urlstring];

        NSURLRequest *request = [NSURLRequest requestWithURL:url];

        AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
        operation.responseSerializer = [AFJSONResponseSerializer serializer];
        [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,id responseObject)
         {
             NSLog(@"%@",responseObject);

            // NSDictionary *item = [responseObject objectForKey:@""];
            // NSString *title = [item objectForKey:@"venueName"];

             //NSLog(@"venue= %@",title);
         } failure:nil];

        [operation start];

【问题讨论】:

  • 如果您可以更新您的问题以包含您的源代码,这将有所帮助

标签: ios json afnetworking


【解决方案1】:

使用 AFJSONResponseSerializer 时的响应对象是一个 NSDictionary。您在日志中看到的是来自 [responseObject description] 的输出 - 一种为记录目的打印描述的方法。

Ray Wenderlich 在 AFNetworking 上有一个很好的 tutorial

【讨论】:

  • 非常感谢保罗。它为我指明了自己解决问题的正确方向。这就是你最终学习的方式!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多