一、使用NSJSONSerialization将json数据解析成NSArray,开启循环从NSArray中取出数据并赋值:
/*
解析son
*/
- (void) parseJson:(NSData *)data{
//JSONObjectWithData方法第2个参数值:0特殊处理,性能最好 NSJSONReadingAllowFragments默认情况,支持NSArray或NSDictionary NSJSONReadingMutableContainers根节点可变 NSJSONReadingMutableLeaves子节点可变
//解析列表json数据,NSArray中每个item为NSDictionary
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
//创建列表,用于实体类存放
NSMutableArray *list = [NSMutableArray array];
//创建循环取出NSArray中的数据并赋值
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
UserInfo *info = [[UserInfo alloc] init];
//KVC:将NSDictionary解析成实际数据对象(UserInfo为自定义实体类),两者的key名与类型必须一样
[info setValuesForKeysWithDictionary:obj];
//将item对象存入列表
[list addObject:info];
}];
NSLog(@"count: %d", [list count]);
}
二、解析示例:
NSString *json = @"[{\"uId\": \"1\", \"name\": \"姓名1\", \"job\": \"IT\"}, {\"uId\": \"2\", \"name\": \"姓名2\", \"job\": \"IT\"}]";
NSData *data = [json dataUsingEncoding:NSUTF8StringEncoding];
[self parseJson:data];