The example below does exactly what you need. You need an array instead of a dictionary. Because a dictionary has keys that need to be defined.
NSMutableArray *offers = [[NSMutableArray alloc] init];
for(int i=0;i<2;i++) {
NSMutableDictionary *myOffer = [[NSMutableDictionary alloc]init];
[myOffer setObject:@"3" forKey:@"id"];
[myOffer setObject:@"34" forKey:@"price"];
[myOffer setObject:@"3" forKey:@"quantity"];
[offers addObject:myOffer];
}
NSError *errorOffers;
NSData *jsonDataOffers = [NSJSONSerialization dataWithJSONObject:offers
options:0
error:&errorOffers];
NSString* aStrOffers;
aStrOffers = [[NSString alloc] initWithData:jsonDataOffers encoding:NSUTF8StringEncoding];