我正在使用Foursquare API来获取Users位置附近的位置。只有一个地方的样本回复是here。
现在,当我使用JSONkit解析响应时,解析器会“忘记”第一部分。我得到的数据从标签“canonicalUrl”开始。但我也需要回应的第一部分。我使用这段代码来解析数据:
-(void)getDataWithLongitude:(float)longitude andLatitude:(float)latitude {
// Get current date
NSDate *date = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYYMMdd"];
NSString *dateString = [dateFormat stringFromDate:date];
NSString *theURL = [NSString stringWithFormat:@"https://api.foursquare.com/v2/venues/search?ll=40.7,-74&client_id=MY_ID&client_secret=MY_SECRET&v=%@&locale=de&limit=10&venuePhotos=1", dateString];
NSError *err = nil;
NSURLResponse *response = nil;
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSURL *url = [NSURL URLWithString:theURL];
[request setURL:url];
[request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
[request setTimeoutInterval:30];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSDictionary *resultsDictionary = [data objectFromJSONData];
NSArray *array = [resultsDictionary valueForKeyPath:@"response.venues"];
NSLog(@"%@", array);
}
我现在使用NSJSONSerialization进行解析,但没有其他结果。
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &err];
答案 0 :(得分:1)
正如讨论结果所示,JSONKit和NSJSONSerialization都解析了 FourSquare正确响应。
某些部分似乎缺失的唯一原因是 字典键/值对的显示顺序与JSON数据中的顺序不同。