当前位置: 首页 > 知识库问答 >
问题:

使用AFNetworking和model类解析JSON

汤才捷
2023-03-14

在使用Model从json获取数据并将数据显示到我的应用程序中时,我有点困惑。

我有这种json数据:

{
result 
 [
    {
        key : value
        key : value
        key : value
    }
    {
        key : value
        key : value
        key : value
    }
 ]

}

我正在尝试这种代码:

json = [[NSMutableArray alloc]init];
            NSError *writeError = nil;
            NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:&writeError];

            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
                                                                options:NSJSONReadingMutableContainers
                                                                  error:&writeError];


            json = dic[@"Result"];
            int i;
            for (i = 0; i <= json.count; i++)
            {
                NSMutableArray *array = json[i];
                [json enumerateObjectsUsingBlock:^(id obj, NSUInteger index, BOOL *stop)
                 {
                     // Dim = [[DimEntityFull alloc]initWithJSONDictionary:obj];
                      saveSearch = [[SaveSearchMaster alloc]initWithJSONDictionary:obj];
                 } ];
            }

我正在使用“AFNetworking”,我正在尝试获取数据并存储到模型类中,然后显示到自定义单元格标签。

我怎样才能得到它。

谢谢你。

共有1个答案

晋俊贤
2023-03-14

在视图控制器中

- (void)viewDidLoad
{
    [super viewDidLoad];


    [self getUsersList];
}

-(void)getUsersList
{



    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
    [manager POST:[NSString stringWithFormat:@"http://www.yourdomainname.com/getUserList"] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject)
    {

        //we will add Modal class objects of users in this array

        usersArray=[[NSMutableArray alloc]init];

        //getting result dictionary from response
        NSDictionary *resultDictinary = [responseObject objectForKey:@"result"];
        for (NSDictionary *userDictionary in resultDictinary)
        {
            //allocating new user from the dictionary
            User *newUSer=[[User alloc]initWithDictionary:userDictionary];
            [usersArray addObject:newUSer];
        }

        //in users array, you have objects of User class

        //reload your tableview data
        [self.TableView reloadData];


    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];

}

现在在User. h中创建名为'User'
的新文件

@interface User : NSObject
{
    NSString *userID;
    NSString *firstName;
    NSString *lastName;

}
@property (nonatomic, retain)NSString *userID;
@property (nonatomic, retain)NSString *firstName;
@property (nonatomic, retain)NSString *lastName;

-(id)initWithDictionary:(NSDictionary *)sourceDictionary;


@end

用户中。m
#导入“User.h”

@implementation User
@synthesize userID,firstName,lastName;


-(id)initWithDictionary:(NSDictionary *)sourceDictionary
{
    self = [super init];
    if (self != nil)
    {
        self.firstName=[sourceDictionary valueForKey:@"firstName"];
        self.lastName=[sourceDictionary valueForKey:@"lastName"];
        self.userID=[sourceDictionary valueForKey:@"userID"];
    }
    return self;

}
@end

在您的numberOfRowsInSect方法
中返回usersArray.count;

cellforrowatinexpath方法中

User *user=(User *)[usersArray objectAtIndex:indexPath.row];
yourLabel.text=user.firstName;
 类似资料:
  • 问题内容: 以下代码成功连接到我的Ruby on Rails API,并使用AFNetworking返回JSON。我需要做什么来进行编辑以传递用户名和密码,以便我的API可以使用HTTP基本身份验证? 我已经阅读了他们的文档,但是我对Objective-C和AFNetworking还是陌生的,目前还没有意义。 问题答案: AFNetworking 2.x的答案已更新 对于AFNetworking

  • 问题内容: 现在,开发iOS应用程序的新语言已变得 迅捷 。 我们如何与 AFNetworking 集成或使用 NSURLSession 将是一个更好的选择? 请帮帮我.. 问题答案: 您必须将AFNetworking添加到您的swift项目 在构建设置->定义模块中设置为是 在构建设置-> Swift编译器-> Objective-C桥接文件中,例如,设置桥接文件’ProjectName-Bri

  • Model相当于数据库中表,有时它也会被称为“模型”或“工厂”。Model不能通过构造函数创建,而只能通过sequlize.define方法来定义或通过sequlize.import导入。通过define定义一个Model,就相当于定义了一种模型与数据表之间的映射关系,通过模型可以实现对表记录的增、删、改、查等操作。 定义描述 1.1 Definition - 模型定义 1.2 Data type

  • AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松.。示例代码: NSURL *url = [NSURL URLWithString:@"https://gowalla.com/

  • 问题内容: 在阅读了Django Managers之后,我仍然不确定使用它会带来多少好处。似乎最好的用法是添加自定义查询(只读)方法,例如。但是我可以使用类本身之外的静态方法轻松地做到这一点。 我总是更喜欢后者,因为: 从可读性和易于维护的角度讲代码的局部性 由于我在通话中不需要该属性,因此略微冗长 类具有关于模型继承的怪异规则,最好不要这样做。 是否有充分的理由 不 使用静态方法,而是使用Man