如何在iOS中解析JSON数据
我正在从服务器获得此格式的响应如何在iOS中解析JSON数据,ios,json,Ios,Json,我正在从服务器获得此格式的响应 {updated_at: 12345555 dates: [{"start_date": "2014-03-02", "end_date": "2014-03-02"}, {"start_date": "2014-04-02", "end_date": "2014-04-02"}, {"start_date": "2014-05-02", "end_date": "2014-05-02"}]} 我想解析这些信息并将其添加到2个NSMu
{updated_at: 12345555 dates:
[{"start_date": "2014-03-02", "end_date": "2014-03-02"},
{"start_date": "2014-04-02", "end_date": "2014-04-02"},
{"start_date": "2014-05-02", "end_date": "2014-05-02"}]}
我想解析这些信息并将其添加到2个NSMutableArray中,但我不知道如何执行此操作
我试过这个
NSMutableArray *startDate = [NSMutableArray array];
NSMutableArray *endDate = [NSMutableArray array];
[dictionaries enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[startDate addObject:[obj valueForKeyPath:@"start_date"]];
[endDate addObject:[obj valueForKeyPath:@"end_date"]];
}];
但是我得到一个错误,说密钥无效。我不明白哪里出了问题。如果显示的数据是您得到的,那么它就是无效的JSON 在JSON中,键需要被引用,并且键/值对之间需要有逗号:
{"updated_at": 12345555 dates:
[{"start_date": "2014-03-02", "end_date": "2014-03-02"},
{"start_date": "2014-04-02", "end_date": "2014-04-02"},
{"start_date": "2014-05-02", "end_date": "2014-05-02"}]}
如果显示的数据是您得到的,那么它不是有效的JSON 在JSON中,键需要被引用,并且键/值对之间需要有逗号:
{"updated_at": 12345555 dates:
[{"start_date": "2014-03-02", "end_date": "2014-03-02"},
{"start_date": "2014-04-02", "end_date": "2014-04-02"},
{"start_date": "2014-05-02", "end_date": "2014-05-02"}]}
{}
:表示词典
[]
:表示无阵列
NSArray *dates = [yourJsonData objectForKey:@"dates"];
for(NSDictionary *data in dates){
[startDate addObject: [data objectForKey: start_date];
[endDate addObject: [data objectForKey: end_date];
}
{}
:表示词典
[]
:表示无阵列
NSArray *dates = [yourJsonData objectForKey:@"dates"];
for(NSDictionary *data in dates){
[startDate addObject: [data objectForKey: start_date];
[endDate addObject: [data objectForKey: end_date];
}
您正在尝试枚举
NSDictionary
,而您有NSArray
。您的字典
对象应为NSArray
类型,然后
for(int i = 0; i<dictionaries.count; i++)
{
[startDate addObject:[obj valueForKeyPath:@"start_date"]];
[endDate addObject:[obj valueForKeyPath:@"end_date"]];
}
for(int i=0;i当您拥有NSArray
时,您正在尝试枚举nsdirectory
。您的dictionary
对象应为NSArray
类型
for(int i = 0; i<dictionaries.count; i++)
{
[startDate addObject:[obj valueForKeyPath:@"start_date"]];
[endDate addObject:[obj valueForKeyPath:@"end_date"]];
}
用于(int i=0;i他们实际上我的文档尚未更新,但我得到的响应与您上面所写的一样。我将只更新他们他们实际上我的文档尚未更新,但我得到的响应与您上面所写的一样。我将只更新它,转到json.org并学习json语法。学习只需5-10分钟,然后然后事情就变得更有意义了。去json.org学习json语法。学习只需要5-10分钟,然后事情就变得更有意义了。