JSON Parser没有得到完整的代码

时间:2013-07-14 20:25:06

标签: objective-c json

我正在使用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];

1 个答案:

答案 0 :(得分:1)

正如讨论结果所示,JSONKit和NSJSONSerialization都解析了 FourSquare正确响应。

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