使用objective-c解析json
我需要帮助使用objective-c解析json 这是我的json:使用objective-c解析json,objective-c,json,Objective C,Json,我需要帮助使用objective-c解析json 这是我的json: { "days": [ { "reference": "13L6-A67-1", "period": "", "dayinit": "4", "hourinit": "9", "minuteinit": "30", "dayend": "4",
{
"days": [
{
"reference": "13L6-A67-1",
"period": "",
"dayinit": "4",
"hourinit": "9",
"minuteinit": "30",
"dayend": "4",
"hourend": "10",
"minuteend": "30",
"totalattendance": "5",
"currentattendance": "5",
"teacher_surname": "jones",
"teacher_forenames": "Carol",
"room": "C109"
},
{
"reference": "13NAPUSD-A1",
"period": "",
"dayinit": "3",
"hourinit": "10",
"minuteinit": "45",
"dayend": "3",
"hourend": "11",
"minuteend": "45",
"totalattendance": "3",
"currentattendance": "3",
"teacher_surname": "Carol",
"teacher_forenames": "Nicola",
"room": "M139"
},
{
"reference": "13NASUWO-X1",
"period": "",
"dayinit": "3",
"hourinit": "14",
"minuteinit": "40",
"dayend": "3",
"hourend": "15",
"minuteend": "5",
"totalattendance": "0",
"currentattendance": "0",
"teacher_surname": "",
"teacher_forenames": "",
"room": ""
},
{
"reference": "13NASUWO-X1",
"period": "",
"dayinit": "5",
"hourinit": "13",
"minuteinit": "35",
"dayend": "5",
"hourend": "14",
"minuteend": "0",
"totalattendance": "0",
"currentattendance": "0",
"teacher_surname": "",
"teacher_forenames": "",
"room": ""
}]}
然后我需要为不同的“Dayinit”键将其过滤到单独的数组中。
我只是不知道从哪里开始
到目前为止,我在youtube上只找到了一个关于解析json的关键视频,但没有一个视频显示如何在解析后过滤数据。您可以通过使用`迭代json值来获得它。 仅供参考:
ContentDict = [NSJSONSerialization JSONObjectWithData:returnData options:0 error:nil];
days = [ContentDict objectForKey:@"days"];
// 3. iterate the array; each element is a dictionary...
for (NSDictionary *lesson in days)
{
NSString *content = [lesson objectForKey:@"reference"];
NSString *content2 = [lesson objectForKey:@"dayinit"];
// ........
........
.......
NSLog(@"Reference : %@", content);
}
您可以像这样解析json
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:nil];
NSMutableArray *jsonParseArray = [[NSMutableArray alloc] initWithArray:[jsonDic objectForKey:@"days"]];
然后使用objectAtIndex:
将数组中的每个元素放入NSDictionary
NSDictionary *selectedDic = [jsonParseArray objectAtIndex:0];
只需使用objectForKey
键即可获得字典的值
"reference":
"period":
"dayinit":
"hourinit":
"minuteinit":
"dayend":
"hourend":
"minuteend":
"totalattendance":
"currentattendance":
"teacher_surname":
"teacher_forenames":
"room":
您需要根据json获取密钥。 使用该键,您将获得数据
NSURL * url=[NSURL URLWithString:@"http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo"]; // pass your URL Here.
NSData * data=[NSData dataWithContentsOfURL:url];
NSError * error;
NSMutableDictionary * json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@",json);
NSMutableArray * referanceArray=[[NSMutableArray alloc]init];
NSMutableArray * periodArray=[[NSMutableArray alloc]init];
NSArray * responseArr = json[@"days"];
for(NSDictionary * dict in responseArr)
{
[referanceArray addObject:[dict valueForKey:@"reference"]];
[periodArray addObject:[dict valueForKey:@"period"]];
}
NSLog(@"%@",referanceArray); // Here you get the Referance data
NSLog(@"%@",periodArray); // Here you get the Period data
这是你用过的
[referanceArray addObject:[dict valueForKey:@"reference"]];
使用所有这些键来获取数据
试试这段代码。如果你已经可以解析JSON,那么你应该展示你尝试了什么以及你做了多少。这与
xcode IDE
有什么关系?你是否尝试过搜索以下有用的资源: