将JSON响应字段映射到NSArray

时间:2015-11-03 09:30:50

标签: ios objective-c json nsarray

响应:

{"rsBody": [{"productId":11, "productImageUrl":"http:xxxx"}, {"productId":9, "productImageUrl":"http:"xxxx"}]}

我知道这是一个重复的问题,但仍然要求找不到正确的方法。我从JSON的{​​{1}}获得了一些来自php服务器的响应,其中包含两个对象。我希望在arraymap productImageUrl两个对象NSArray的元素。结果数组应该有点像

NSArray =[{@"url":"productImageUrl1"},{@"url":@"ProductImageUrl2"}, nil];

productImageUrl1 =第一个对象的元素,productImageUrl2 =第二个对象的元素。

我正在解析响应并能够从rsBody中提取它。

NSDictionary* response=(NSDictionary*)[NSJSONSerialization     
JSONObjectWithData:receivedData options:kNilOptions error:&tempError];

NSArray *rsBody = [response objectForKey:@"rsBody"];

1 个答案:

答案 0 :(得分:0)

试试这个:

NSMutableArray *arr = [[NSMutableArray alloc] init];

NSDictionary* response = [NSJSONSerialization JSONObjectWithData:receivedData options:kNilOptions error:&tempError];

NSArray *rsBody = [response objectForKey:@"rsBody"];

for (NSDictionary *dict in rsBody)
{
    NSMutableDictionary *dictURL = [[NSMutableDictionary alloc] init];
    [dictURL setValue:[dict valueForKey:@"productImageUrl"] forKey:@"url"];
    [arr addObject:dictURL];
}

NSLog(@"%@", arr);