FQL 결과를 구문 분석 : 나는 데이터를 저장난과 같이 가장 가까운 5 곳의 이름을 얻을 수 FQL을 사용하고
Result: {
data = (
{
name = "T|aco";
},
{
name = "ChoLon Bistro";
},
{
name = "Illegal Pete's Lodo";
}, etc...
:
- (void)facebookPlaces {
NSString *query = @"SELECT name FROM place WHERE distance(latitude, longitude, \"39.750655\", \"-104.999127\") < 500 ORDER BY distance(latitude, longitude, \"23.750655\", \"-180.999127\") limit 5";
// Set up the query parameter
NSDictionary *queryParam = @{ @"q": query };
// Make the API request that uses FQL
[FBRequestConnection startWithGraphPath:@"/fql"
parameters:queryParam
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
} else {
NSLog(@"Result: %@", result);
// Store the result in an NSData object
NSData *nameData = [result data];
NSLog(@"Test data reads: %@", nameData);
}
}];
이 결과는 깔끔하게과 같이 반환 NSData 객체에 저장하면 정확히 동일한 방법으로 읽습니다. 결과를 구문 분석하여 모든 이름을 간단한 방식으로 가져 와서 로그에 인쇄 할 수 있습니다. 내가 생각할 수있는 유일한 방법은 수동으로 NSData 나 결과를 파싱하는 것이었지만, name =
옆의 따옴표로만이 항목을 가져 오는 방법을 모릅니다. 나는 FQL과 objective-c에 대해 매우 익숙하다. 나는 이것을 어떻게 할 수 있는지 누구나 알고 있는가?
이 기사를 살펴보면 name =
옆에있는 모든 것을 가져 와서 배열에 저장 한 멋진 JSON 예제를 보았습니다. 그것은 안드로이드를위한 것이지만 나는 그것이 IOS에서 작동하게하는 방법을 알아낼 수 없었다. 이상적으로 내가하려는 일입니다.
그게 전부 야! Ben 정말 고마워. – John