我用PHP开发了一个web服务。它使用MySQL数据库。在这里,我使用了JSON。我想在我的iPhone应用程序中从此Web服务获取数据。我使用了一个有一个参数的函数。我如何在iPhone中使用它?
web服务:
<?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;
}
?>
我正在申请网址:http://domain/t1.php?lastupdate=2012-09-01 01:00:00
。
答案 0 :(得分:0)
您将为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
}