【发布时间】:2014-01-12 00:15:56
【问题描述】:
我目前正在使用第三方 api。我在将我的 db 值格式化为 json 对象时遇到了一些困难。如果它们采用某种格式,则 api 会采用这些值。在下面的 php 代码中,我使用 foreach 循环来获取结果。然后array_push 将值放入数组中。我正在获取coordinates 的字符串数据而不是数字。最后,我没有得到想要的结果。如何将 json 对象格式化为如下示例?
当前结果:
{
coordinates: [
"-121.2808, 38.3320"
],
attributes: "Sacramento"
},
期望的结果:
{
coordinates: [-121.2808, 38.3320],
attributes: {
name: 'Sacramento'
}
},
PHP 循环和 json_encode
header("Content-type: application/json");
//get the course list
$location_query = $db_con->prepare("SELECT city, X(location) as latitude, Y(location) as longitude
FROM company
");
$location_query->execute();
$data = $location_query->fetchAll();
$output = array();
foreach ($data as $row) {
array_push($output, array('coordinates'=>array($row["latitude"].",".$row["longitude"]), 'attributes'=>$row["city"]));
}// foreach ($data as $row) {
echo json_encode($output);
【问题讨论】: