我正在使用来自Foursquare API的数据。
我想获取一份咖啡店的清单,并正确地将其取回(我正在使用RestKit)...但是一旦获得该清单,我需要过滤掉所有属于“星巴克”的咖啡店。 。
因此,现在我只知道如何进入所有咖啡店,但是在将数据提供到应用程序表视图之前,我不知道如何解析这些数据,因此不会列出星巴克咖啡店。
有什么想法可以做到吗?让我知道您是否需要发布我的任何代码片段,可能有帮助。谢谢!
编辑
API的正常响应类型为:
"venue": [{
"name": "ABC Coffee Shop", {
因此,我需要使用“名称”并过滤掉所有名称为
"Starbucks"
的名称。 最佳答案
如果FourSquare不允许您将过滤器应用于请求,以过滤名称“Starbucks”,那么我将执行以下操作。
我将从将响应反序列化为JSON对象开始,在这种情况下,它将是一个字典。
NSError *error = nil;
NSDictionary *responseDict = [[NSJSONSerialization JSONObjectWithData:foursquareResponse options:0 error: &error];
NSArray *starbucks = nil;
if (!error) {
NSArray *coffeeShops = responseDict[@"venue"];
starbucks = [coffeeShops filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"name = 'Starbucks'"]];
} else {
// handle the error
}
NSLog(@"Starbucks: %@", starbucks");
我没有测试此代码,但我认为它应该可以帮助您。