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?
Não consegue encontrar um certo filme ou série? Inicie sessão e adicione-o.
Deseja classificar ou adicionar este item a uma lista?
Ainda não é um membro?
Resposta de littlereddoor
em 9 agosto 2013 às 7:39 AM
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?
Resposta de nevrothwen
em 11 agosto 2013 às 6:36 AM
Thanks. I managed to figure it out after a while. Still trying to get my head around JSON and such :-)