I am working on my first iOS app and I'm also new to using an API. I'm trying to figure out how to access data through the API.
(void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // create the URL we'd like to query NSURL myURL = [[NSURL alloc]initWithString:@"http://api.themoviedb.org/3/movie/550?api_key="];
// we'll receive raw data so we'll create an NSData Object with it
NSData *myData = [[NSData alloc]initWithContentsOfURL:myURL];
// now we'll parse our data using NSJSONSerialization
id myJSON = [NSJSONSerialization JSONObjectWithData:myData options:NSJSONReadingMutableContainers error:nil];
// typecast an array and list its contents
NSArray *jsonArray = (NSArray *)myJSON;
// take a look at all elements in the array
for (id element in jsonArray) {
NSLog(@"Element: %@", [element description]);
}
}
That's the code I am currently using (with an API key filled in of course). When I run this code I get things like "Element: release_date". How do I access the actual release date, the data associated with release_date?
Etkö löydä elokuvaa tai TV-ohjelmaa? Kirjaudu sisään lisätäksesi se.
Haluatko pisteyttää vai lisätä tämän nimikkeen listaan?
Ei rekisteröitynyt jäsen?
Vastaus käyttäjältä littlereddoor
9 elokuu 2013 klo 7:39AM
Hi nevrothwen,
I haven't taken a look at the data returned by the API yet, so I can be specific until I have done so. However, you want to be looking at using the valueForKey: method on the array.
NSString *releaseDate = [jsonArray valueForKey:@"releasedate"];
That should get you the release date?
Vastaus käyttäjältä nevrothwen
11 elokuu 2013 klo 6:36AM
Thanks. I managed to figure it out after a while. Still trying to get my head around JSON and such :-)