我从服务器收到以下响应
[{"id":"16","name":"Bob","age":"37"},{"id":"17","name":"rob","age":"28"}];
我正在使用AFNetworking
框架,
我在NSData
中得到了上述响应,然后使用以下代码,我能够以NSDictionary
收集数据
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:&error];
但是如何解析该NSDictionary
的"name"
和"age"
值呢?
你期望 NSDictionary,但你的回答给了你字典数组,试试这个:
NSArray *array = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:&error];
for (NSDictionary *dict in array)
{
NSLog(@"Name: %@, age: %@", dict[@"name"], dict[@"age"]);
}
//扩展
从下面的注释来看,您似乎有一个来自响应的字符串,而不是上面代码中显示的 NSArray。您可以解析字符串以获取所需的数据,也可以将其转换回 json 和 NSArray:
NSString * jsonString = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:&error];
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
//As I post above
现在你应该有一个NSArray,我的代码应该可以完成这项工作。