如何将 JSON 放入 NSMutableArray
How to put JSON in to NSMutableArray
嗨,我是 iOS 开发的新手,目前在开发调度事件时遇到问题
请告诉我如何添加 JSON 数据而不是硬编码 array.I 只需要将 customer_name、customer_id 从 json 替换为这个硬编码数据
这是我的日程按钮点击事件:
- (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
文件的可变数据。因此您可以直接更改或更新此数组中的值。
edit
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];
}
嗨,我是 iOS 开发的新手,目前在开发调度事件时遇到问题
请告诉我如何添加 JSON 数据而不是硬编码 array.I 只需要将 customer_name、customer_id 从 json 替换为这个硬编码数据
这是我的日程按钮点击事件:
- (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
文件的可变数据。因此您可以直接更改或更新此数组中的值。
edit
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];
}