无法将 JSON 解析为 UITableView

Posted

技术标签:

【中文标题】无法将 JSON 解析为 UITableView【英文标题】:Unable to parse JSON to UITableView 【发布时间】:2014-10-28 04:28:27 【问题描述】:

目前我正在尝试解析responseObject 以填充我的表格视图,但我在解析responseObject 中的数组时遇到了一些问题。我想用来自responseObject[@"test"] 的值填充我的单元格。

请求操作:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:[kBaseURL stringByAppendingString:@"directori/member_list"]parameters:params
      success:^(AFHTTPRequestOperation *operation, id responseObject) 
          NSLog(@"RESPONSE: %@", responseObject);
          if ([responseObject[@"status_reason"] isEqualToString:@"Success"]) 
              self.allMembers = responseObject[@"test"];
              NSLog(@"MEMBERS: %@", self.allMembers);
           else 
              // handle error
          
       failure:^(AFHTTPRequestOperation *operation, NSError *error) 
          NSLog(@"ERROR: %@", error);
      ];

如下所示,test 是一个对象数组。

示例响应对象:

RESPONSE: 
    test =     (
                
            img = "http://test.com/assets_api/images/no_image.png";
            location = "test location";
            name = "test user";
            position = "test";
        
    );
    "audit_no" = "";
    "status_code" = 200;
    "status_reason" = Success;

这是我的表格视图数据源。

表格视图数据源

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"DirectoryCell";
    DirectoryViewCell *cell = (DirectoryViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell==nil) 
        cell = [[DirectoryViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    

    NSDictionary *member = [self.allMembers objectAtIndex:indexPath.row];
    NSLog(@"MEMBER: %@", member);
    return cell;

allMembersNSArray 类型,而 memberNSDictionary 类型。 当我尝试记录 member 的值时,它返回 null。哪里出错了?

【问题讨论】:

【参考方案1】:

你应该试试这个

NSDictionary *member = [[self.allMembers objectAtIndex:indexPath.row]objectAtIndex:0];

【讨论】:

以上是关于无法将 JSON 解析为 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

无法将 JSON 解析为 UITableView

JSON 字符串上的 JSON 解析抛出“无法将对象转换为原始值”

Realm create() 无法将 JSON 字符串解析为 NSDate?

Swift json 解析错误:无法将 NSCFConstantString 类型的值转换为 NSArray

无法将 PHP 生成的 JSON 解析为 .NET 对象。总是空的

AWS Lambda 错误:当 url 参数包含 JSON 数组时,“无法将请求正文解析为 json”