0

我正在使用 Foursquare API 来获取靠近用户位置的位置。此处仅提供一个地方的示例响应。

现在,当我使用 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];
4

1 回答 1

1

正如讨论中证明的那样,JSONKit 和 NSJSONSerialization 都正确解析了 FourSquare 响应。

某些部分似乎丢失的唯一原因是字典键/值对的显示顺序与 JSON 数据中的顺序不同。

于 2013-07-14T21:20:04.117 回答