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?
¿No encuentras una película o serie? Inicia sesión para crearla:
¿Quieres puntuar o añadir este elemento a una lista?
¿No eres miembro?
Contestado por littlereddoor
el 9 de agosto de 2013 a las 07:39
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?
Contestado por nevrothwen
el 11 de agosto de 2013 a las 06:36
Thanks. I managed to figure it out after a while. Still trying to get my head around JSON and such :-)