我正在尝试从 mysql 服务器下载一些数据,我想使用 JSON 来解析查询结果。这是PHP
<?php
class Prenotazione {
public $ID_prenotazione;
public $ID_garage;
public $nome_cliente;
public $modello;
public $data;
public function setID_prenotazione($ID_prenotazione){
$this->ID_prenotazione = $ID_prenotazione;
}
public function setID_garage($ID_garage){
$this->ID_garage = $ID_garage;
}
public function setNomeCliente($nome_cliente){
$this->nome_cliente = $nome_cliente;
}
public function setModello($modello){
$this->modello = $modello;
}
public function setData($data){
$this->data = $data;
}
}
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("TestRmob");
$password = $_GET['pwd'];
if($password){
$result = mysql_query("SELECT * FROM `Garage` WHERE `ID_garage` =" .$password);
$row = mysql_fetch_array($result);
if($row == FALSE){
echo "ERRORE";
} else {
$result = mysql_query("SELECT * FROM `Prenotazione`WHERE `ID_garage` =". $password);
$i=0;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$prenotazioni[$i] = new Prenotazione;
$prenotazioni[$i]->setID_prenotazione($row[ID_prenotazione]);
$prenotazioni[$i]->setID_garage($row[ID_garage]);
$prenotazioni[$i]->setNomeCliente($row[nome_cliente]);
$prenotazioni[$i]->setModello($row[modello]);
$prenotazioni[$i]->setData($row[data]);
$i++;
}
}
$json_string = json_encode($prenotazioni);
echo $json_string;
}
?>;
这是xcode
-(void)leggiURL{
//[self performSelectorOnMainThread:@selector(creaPrenotazione:)
// withObject:dataURL waitUntilDone:YES];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *URL = [NSString stringWithFormat:@"http://localhost:8888/provaJSONclasse.php?pwd=%@",codiceParcheggio ];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:URL]];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:dataURL waitUntilDone:YES];; });
}
-(void)fetchedData:(NSData * )dataURL{
NSArray* json = [NSJSONSerialization
JSONObjectWithData:dataURL //1
options:kNilOptions error:nil];
NSLog(@"elementi arra %d", [json count]);
prenotazioni = [[NSMutableArray alloc] initWithCapacity:[json count]];
for (NSDictionary *dict in json) { //3
Prenotazione *p = [[Prenotazione alloc] init]; //4
p.ID_prenotazione = [dict objectForKey:@"ID_prenotazione"];
NSLog(@"%@ prenotazione numero @", p.ID_prenotazione);
p.ID_garage = [dict objectForKey:@"ID_garage"];
p.nomeCliente = [dict objectForKey:@"nome_cliente"];
p.modello = [dict objectForKey:@"modello"];
p.data = [dict objectForKey:@"data"];
[prenotazioni addObject:p];
}
}
json数组是空的,为什么?当我尝试在浏览器中打印 json 对象时,我可以看到创建 json 对象没有问题,所以问题一定出在 xcode 中