如何把JSON中的NSMutableArray
问题描述:
林喜新iOS开发,目前有一个问题,当我开发一个调度事件如何把JSON中的NSMutableArray
请让我知道如何添加,而不是硬编码的array.I JSON数据需要更换只有CUSTOMER_NAME,从JSON CUSTOMER_ID这个硬编码的数据
这是我的日程安排按钮单击事件:
- (IBAction)schedule:(id)sender {
FFCalendarViewController *rootController = [FFCalendarViewController new];
[rootController setArrayWithEvents:[self arrayWithEvents]];
[self.navigationController pushViewController:rootController animated:YES];
}
这是我硬编码数组:
- (NSMutableArray *)arrayWithEvents {
FFEvent *event1 = [FFEvent new];
[event1 setStringCustomerName: @"Customer A"];
[event1 setNumCustomerID:@1];
[event1 setDateDay:[NSDate dateWithYear:[NSDate componentsOfCurrentDate].year month:[NSDate componentsOfCurrentDate].month day:[NSDate componentsOfCurrentDate].day]];
[event1 setDateTimeBegin:[NSDate dateWithHour:10 min:00]];
[event1 setDateTimeEnd:[NSDate dateWithHour:15 min:13]];
FFEvent *event2 = [FFEvent new];
[event2 setStringCustomerName: @"Customer B"];
[event2 setNumCustomerID:@2];
[event2 setDateDay:[NSDate dateWithYear:[NSDate componentsOfCurrentDate].year month:[NSDate componentsOfCurrentDate].month day:[NSDate componentsOfCurrentDate].day]];
[event2 setDateTimeBegin:[NSDate dateWithHour:9 min:15]];
[event2 setDateTimeEnd:[NSDate dateWithHour:12 min:138]];
return [NSMutableArray arrayWithArray:@[event1, event2]];
}
这是我的JSON输出,我想,以取代以硬编码的数组:
[
{
"customer_id":"802",
"customer_name":"Tela"
},
{
"customer_id":"803",
"customer_name":"Bena"
}
]
这是我的序列化JSON代码:
NSData *myData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSMutableArray *testFeeds = [NSJSONSerialization JSONObjectWithData: myData options:NSJSONReadingMutableContainers error:nil];
NSMutableArray *rec = [[NSMutableArray alloc] init];
[rec addObjectsFromArray:testFeeds];
请帮我理清这个问题。
答
连载你json
与下面的代码
NSMutableArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e];
现在jsonArray
包含您json
文件的可变数据。因此,您可以直接在此数组中更改或更新这些值。
编辑
NSMutableArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e];
NSMutableArray *rec = [[NSMutableArray alloc] init];
for (int i = 0; i< jsonArray.count; i++) {
FFEvent *event1 = [FFEvent new];
[event1 setStringCustomerName:jsonArray[i][@"customer_name"]];
[event1 setNumCustomerID:[jsonArray[i][@"customer_id"] integerValue]];
[event1 setDateDay:[NSDate dateWithYear:[NSDate componentsOfCurrentDate].year month:[NSDate componentsOfCurrentDate].month day:[NSDate componentsOfCurrentDate].day]];
[event1 setDateTimeBegin:[NSDate dateWithHour:10 min:00]];
[event1 setDateTimeEnd:[NSDate dateWithHour:15 min:13]];
[rec addObject:event1];
}
不要ü想从JSON获取值,然后在乌尔硬编码的数组内容替换? m无法理解 – Swati
是的,我已经提取了值,这是我发布的输出,你是对的,需要替换我的硬编码数组内容 – Tela