Я разработал веб-сервис в PHP. Он использует базу данных MySQL. В этом я использовал JSON. Я хочу получить данные из этого веб-сервиса в своем приложении для iPhone. Я использовал функцию, которая имеет один параметр. Как я могу использовать это в iPhone?
Веб-сервис:
<?php echo getdata($_REQUEST['lastupdate']); function getdata($lastupdatedate){ $json = '{"foo-bar": 12345}'; $obj = json_decode($json); //print $obj->{'foo-bar'}; // 12345 $con = mysql_connect("localhost","un","pwd"); if (!$con) { die('Could not connect: ' . mysql_error()); } //print_r($con); mysql_select_db("roster", $con); $query = "select * from rates where LastUpdated = '".$lastupdatedate."' order by LastUpdated limit 1"; $rs = mysql_query($query) or die($query); //print_r($rs); while($row=mysql_fetch_assoc($rs)){ $record[] = $row; } $data = json_encode($record); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json'); return $data; } ?>
Я запрашиваю URL-адрес: http://domain/t1.php?lastupdate=2012-09-01 01:00:00
.
Вы должны создать запрос для http://domain/t1.php?lastupdate=2012-09-01 01:00:00
а затем проанализировать свой ответ JSON.
В зависимости от того, как ваш код должен функционировать (onload или на основе какого-либо действия пользователя), ваш код должен работать аналогично этому примеру с raywenderlich.com
Основные фрагменты кода:
- (void)viewDidLoad { [super viewDidLoad]; dispatch_async(kBgQueue, ^{ NSData* data = [NSData dataWithContentsOfURL:yourURLValue]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; }); } - (void)fetchedData:(NSData *)responseData { //parse out the json data NSError* error; NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData //1 options:kNilOptions error:&error]; NSArray* JSONResultValues = [json objectForKey:@"yourKey"]; //2 NSLog(@"Results: %@", JSONResultValues); //3 }