我正在处理来自 Foursquare API 的数据。
我想获取咖啡店的列表,并且可以正确获取该列表(我正在使用 RestKit)...但是一旦获得该列表,我就需要过滤掉所有属于“星巴克”。
所以现在我只知道如何拉入所有咖啡店,但我不知道在将数据提供到应用程序 TableView 之前如何解析这些数据,这样就不会有星巴克咖啡店列出来。
任何想法我怎么能做到这一点?如果您需要我发布的任何可能有帮助的代码片段,请告诉我。谢谢!
编辑
来自 API 的正常响应类型是:
"venue": [{
"name": "ABC Coffee Shop", {
所以我需要使用“name”并过滤掉任何 “Starbucks” 的名称。
Best Answer-推荐答案 strong>
如果 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/
|