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?
فیلم و نمایش تلویزیونی را نمیتوانید پیدا کنید؟ به سیستم وارد شوید تا آن را ایجاد کنید.
آیا میخواهید به این مورد امتیاز دهید یا به فهرست اضافه کنید؟
عضو نیستید؟
پاسخ توسط littlereddoor
در تاریخ اوت 9, 2013 ساعت 7: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?
پاسخ توسط nevrothwen
در تاریخ اوت 11, 2013 ساعت 6:36 ق.ض
Thanks. I managed to figure it out after a while. Still trying to get my head around JSON and such :-)