【问题标题】:Taking is JSON data in AFNetworking在 AFNetworking 中获取 JSON 数据
【发布时间】:2015-03-11 07:57:15
【问题描述】:

所以我的 AFNetworking 工作得很好,我可以获取 json 数据并在 tableview 中对其进行格式化,只要将 JSON 文件作为一个名为“results”的数组。

例子:

{
     "results": [
     {
  "title": "title",
  "subtitle": "subtitle",
  "description": "",
  "image": ""
     }
   ]
}

我在 xcode 中使用 AFNetworking 解析的代码是:

-(void)makeGiftRequests
{   
NSURL *url = [NSURL URLWithString:@"http://SOMEURL.json"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

    self.giftsArray = [responseObject objectForKey:@"results"];

    NSLog(@"The Array: %@",self.giftsArray);

    [self.tableView reloadData];
    [self.refreshControl endRefreshing];


} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"Request Failed: %@, %@", error, error.userInfo);

}];

[operation start];
}

但如果 json 文件如下所示,我终生无法弄清楚如何解析它:

[
   {
     "title": "",
     "subtitle:""
   }
]

我敢肯定它非常简单,但我不是专业人士。谢谢!

【问题讨论】:

    标签: ios json afnetworking


    【解决方案1】:

    试试这个....
    self. giftsArray = [NSMutableArray arrayWithArray:responseobject];

    【讨论】:

      【解决方案2】:

      您从AFHTTPRequestOperation 获得的 responseObject 是id 类型,这意味着它可以是任何东西,因此您可以根据您期望的输出将它类型转换为 NSDictionary 或 NSArray。

       self.giftsArray = (NSArray *)responseObject;
      

      【讨论】:

        猜你喜欢
        • 2015-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多