我正在处理来自 Foursquare API 的数据。
我想获取咖啡店列表,并且正在正确获取该列表(我正在使用 RestKit)...但是一旦获得该列表,最后我需要过滤掉任何属于“星巴克”。
所以现在我只知道如何提取所有咖啡店,但我不知道在获得数据后如何解析该数据,然后再将其提供给应用程序 TableView ,这样就不会有星巴克咖啡店已列出。
我有什么想法可以做到这一点吗?如果您需要我发布的任何可能有帮助的代码片段,请告诉我。谢谢!
编辑
API 的正常响应类型为:
"venue": [{
"name": "ABC Coffee Shop", {
所以我需要获取“name”并过滤掉任何“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");
我没有测试此代码,但我认为它应该可以帮助您。
关于ios - 从API获取数据,需要过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071607/