我正在使用Json通过webServices检索信息。我有一个PHP文件来实现它,但O / P格式不同。
$sql=mysql_query("select phone1 from xxx where id='".$amp."'");
$response = array();
while($row=mysql_fetch_array($sql))
{
// print_r($row);
$sql_query=mysql_query("select x,y,z from tblRepairQueue where phoneNo='".$row['phone1']."'");
while($row1=mysql_fetch_array($sql_query)){
$ackNo=$row1['ackNo'];
$repairStatus=$row1['repairStatus'];
$savedAt=$row1['savedAt'];
$response[]=array("ackNo"=>"$ackNo","repairStatus"=>"$repairStatus","savedAt"=>"$savedAt");
}}
print json_encode($response);
实际上我在IOS上使用它来使用
进行解码 NSMutableDictionary *userDetails = [NSJSONSerialization JSONObjectWithData:returnData
options:0 error:nil];
我得到的O / p
NSLog(@“%@”,userDetails);
(
{
ackNo = "21031221201377 ";
repairStatus = "Closed and Complete";
savedAt = "0000-00-00 00:00:00";
}
)
我期待的就像
[{}, {}]
[
{
ackNo = "21031221201377 ";
repairStatus = "Closed and Complete";
savedAt = "0000-00-00 00:00:00";
}
]
如何实现它,我对PHP知之甚少。如果有人提出建议,那就太感激了。
答案 0 :(得分:1)
在iOS ()
中引用数组,{}
引用字典。
所以你得到了正确的回应。
您需要更改代码,如:
NSMutableArray *userDetails = [NSJSONSerialization JSONObjectWithData:returnData
options:0 error:nil];
并访问以下数据:
NSMutableDictionary *user = [userDetails objectAtIndex:0];
NSLog(@"ackNo : %@",[user objectForKey:@"ackNo"]);
答案 1 :(得分:0)
您收到的回复正确。我唯一要改变的是在创建响应数组时删除变量中的引号。
$response[]=array("ackNo"=>$ackNo,"repairStatus"=>$repairStatus,"savedAt"=>$savedAt);
这是个人选择,但我认为这种方式更具可读性。