我希望能够以下列格式生成json输出:
{"a":{"ax":1,"abx":2},"b":{"bax":1,"bbx":2},"c":3,"d":4,"e":5}
虽然我发现相应的代码是这样的:
$arr = array('a' => array('ax' => 1, 'abx' => 2), 'b' => array('bax' => 1, 'bbx' => 2), 'c' => 3, 'd' => 4, 'e' => 5);
,我很难通过使用sql查询中的数据来生成此输出。我已经尝试过array_push()和array_merge(),而我设法得到的最接近的是:
[{"a":{"ax":1,"abx":2}},{"b":{"bax":1,"bbx":2}}, ....]
有什么想法吗?
答案 0 :(得分:15)
首先,您应该从表中查询所有数据,然后将其移动到数组中,然后使用json_encode($array)
函数。
将数组放在参数中。
然后输出将以json形式出现。
$query="select * from employees";
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
$employee=$row['employee'];
$country=$row['country'];
$employees[] = array('employee'=> $employee,'country'=> $country);
}
echo $jsonformat=json_encode($employees);
答案 1 :(得分:2)
将您想要编码的数据加载到数组中,然后使用json_encode()。
json_encode($arr);