我在Iphone工作。我已经完成了Iphone应用程序中foursquare集成所需的几乎所有工作。 现在我正在尝试在此应用程序中添加Venue搜索功能。
code-:
NSMutableString *url=[[NSMutableString alloc] initWithFormat:@"https://api.foursquare.com/v2/venues/search?ll=26.8606200,75.761608&client_secret=XXXXXX&client_id=XXXXXX"];
NSLog(@"%@",url);
NSURL *url1=[[NSURL alloc] initWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%@",url1);
NSDictionary *dicVenue=[self objectWithUrl:url1];
NSLog(@"%@",dicVenue);
This is my response for foursquare Venues search:-
of this line-- NSLog(@"%@",dicVenue);
groups = (
{
items = (
{
categories = (
{
icon = "https://foursquare.com/img/categories/education/default.png";
id = 4bf58dd8d48988d1a8941735;
name = "General College & University";
parents = (
"Colleges & Universities"
);
pluralName = "General Colleges & Universities";
primary = 1;
shortName = "Other - Education";
}
);
contact = {
};
hereNow = {
count = 0;
};
id = 4ed0c8f48231b9ef88fe5f09;
location = {
distance = 529;
lat = "26.857954980225713";
lng = "75.76602927296061";
};
name = "Banayan Tree School";
stats = {
checkinsCount = 5;
tipCount = 0;
usersCount = 4;
};
verified = 0;
},
{
categories = (
{
icon = "https://foursquare.com/img/categories/food/default.png";
id = 4bf58dd8d48988d1c4941735;
name = Restaurant;
parents = (
Food
);
pluralName = Restaurants;
primary = 1;
shortName = "Other - Food";
}
);
contact = {
};
hereNow = {
count = 0;
};
id = 4ea2e30ce3008f7d9243bfb5;
location = {
city = Jaipur;
distance = 73;
lat = "26.8599860034498";
lng = "75.76141358915882";
state = Rajasthan;
};
name = Vyanjan;
stats = {
checkinsCount = 2;
tipCount = 0;
usersCount = 2;
};
verified = 0;
},
{
categories = (
{
icon = "https://foursquare.com/img/categories/arts_entertainment/movietheater.png";
id = 4bf58dd8d48988d180941735;
name = Multiplex;
parents = (
"Arts & Entertainment",
"Movie Theaters"
);
pluralName = Multiplexes;
primary = 1;
shortName = Cineplex;
}
);
contact = {
};
hereNow = {
count = 0;
};
id = 4eda5812be7be28337a34e1d;
location = {
address = "Mansarovar, Jaipur, Rajasthan";
city = Jaipur;
distance = 1439;
lat = "26.849646795110605";
lng = "75.76927853413078";
state = Rajasthan;
};
name = "Galaxy Cinema Hall";
stats = {
checkinsCount = 8;
tipCount = 2;
usersCount = 6;
};
verified = 0;
},
请告诉我如何获得venueId,venueName,venueAddress等。
先生,请帮助我。我真的需要你的帮助。我在等你的明智回答。提前谢谢。
答案 0 :(得分:1)
您可以使用json解析器轻松解析值。请参阅以下代码,了解Foursquare场地搜索解析。
-(NSMutableArray*)returnVenuesDetails:(NSDictionary*)result{
NSArray *groupsArray = [[(NSDictionary*)result objectForKey:@"response"] objectForKey:@"groups"];
NSArray *itemsArray;
if([groupsArray count] > 0){
itemsArray = [[groupsArray objectAtIndex:0] objectForKey:@"items"];
NSMutableArray *resultArray = [NSMutableArray array];
if([itemsArray count] > 0){
for (int i=0; i<[itemsArray count]; i++) {
NSMutableDictionary *resultDictionary=[[NSMutableDictionary alloc] init];
NSString *venueId = [[itemsArray objectAtIndex:i] objectForKey:@"id"];
NSString *venueName = [[itemsArray objectAtIndex:i] objectForKey:@"name"];
[resultDictionary setObject:venueId forKey:@"venueId"];
[resultDictionary setObject:venueName forKey:@"venueName"];
//Get Stats details
NSDictionary *stats = [[itemsArray objectAtIndex:i] objectForKey:@"stats"];
NSString *checkinsCount = [stats objectForKey:@"checkinsCount"];
NSString *tipCount = [stats objectForKey:@"tipCount"];
NSString *usersCount = [stats objectForKey:@"usersCount"];
[resultDictionary setObject:checkinsCount forKey:@"checkinsCount"];
[resultDictionary setObject:tipCount forKey:@"tipCount"];
[resultDictionary setObject:usersCount forKey:@"usersCount"];
NSArray *catArray = [[itemsArray objectAtIndex:i] objectForKey:@"categories"];
if([catArray count]> 0){
//Get Category List
NSDictionary *categoryDic = [catArray objectAtIndex:0];
NSLog(@"categoryDic ----- = %@",categoryDic);
[resultDictionary setObject:[categoryDic objectForKey:@"icon"] forKey:@"icon"];
[resultDictionary setObject:[categoryDic objectForKey:@"id"] forKey:@"catId"];
[resultDictionary setObject:[categoryDic objectForKey:@"name"] forKey:@"catName"];
}
//Add dictionary into Array
[resultArray addObject:resultDictionary];
}
//Use this resultArray for display the Search details
for (int i=0; i<[resultArray count]; i++) {
NSString *venueName=[[resultArray objectAtIndex:i] objectForKey:@"venueName"];
NSString *checkins=[[resultArray objectAtIndex:i] objectForKey:@"checkinsCount"];
NSLog(@"venueName = %@",venueName);
NSLog(@"checkins = %@",checkins);
}
}
return resultArray;
}
return [NSMutableArray array];
}