gpt4 book ai didi

ios - 使用 AFNetworking 解析 JSON

转载 作者:行者123 更新时间:2023-11-28 19:05:33 24 4
gpt4 key购买 nike

我正在使用 AFNetworking 2 从服务器获取一些 json 数据。它是员工数据,我制作了一个员工对象和一个员工 NSMutableArray。

我的服务正在运行。如果我将 responseObject 输出到日志中,我会得到 600 名员工。我正在苦苦挣扎的是如何将它们放入我的员工 NSMutableArray。

responseObject 有一个 id 类型,意思是一个没有类的对象,对吧?我试图将 id 更改为 employee,因为这是我想要返回的,但没有用。然后我注意到 responseObject 实际上是所有对象,所以我尝试了 employees 但没有用。

所以我想我可以遍历对象,但由于它不是真正的 NSMutableArray 我不明白如何做。

如有任何帮助,我们将不胜感激。

布莱恩

- (IBAction)jsonTapped:(id)sender
{

NSMutableArray *employees;
employee *thisEmployee = [employee new];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"XXXXXX" password:@"XXXXXX"];

AFHTTPRequestOperation *operation = [manager GET: @"https:/XXXXXXXXXXX/something"
parameters: [self jsonDict]
success:^(

AFHTTPRequestOperation *operation, id responseObject)
{

NSLog(@"Submit response data: %@", responseObject);}
failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"Error: %@", error);}
];
[operation start];
}

这是我的成功集团内部:

   NSMutableArray  *employees = (NSMutableArray *)responseObject;

NSLog(@"Count of array to begin: %lu", (unsigned long)[employees count]);
NSLog(@"JSON RESULT %@", responseObject);

FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]];
[db open];
for (employee *thisemployee in employees) {
BOOL success = [db executeUpdate:@"INSERT INTO employees (firstName,fullName,email) VALUES (?,?,?,?);",thisemployee.firstName,thisemployee.lastName,thisemployee.fullName,thisemployee.emailAddress, nil];
if (success) {} // Only to remove success error
NSLog(@"DDD %@", thisemployee);

最佳答案

您只需要在 success block 中获取 responseObject 并将其转换为数组,如下所示:

NSArray *employees = (NSArray *)responseObject;

AFNetworking 已经为您解析了 Json。您需要做的只是根据您的响应类型(可能是数组)转换为 NSArrayNSDictionary

关于ios - 使用 AFNetworking 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20749663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com