在SQL查询中使用CONVERT(VARCHAR(10),datetime,111)并输出到php时,我以以下格式获得日期。
2015/08/03
有附加斜杠的原因吗?
我的php代码:<?php
$sql = "SELECT id, custcode, title, description, CONVERT(VARCHAR(10),datetime,111) as 'date', status
FROM dbo.calls";
$stmt=sqlsrv_query($conn, $sql);
// Initializes a container array for all of the calendar events
$jsonArray = array();
while($row = sqlsrv_fetch_array($stmt)) {
// Stores each database record to an array
$buildjson = array('title' => $row['custcode'], 'start' => $row['date'], 'allday' => false);
// Adds each array into the container array
array_push($jsonArray, $buildjson);
}
// Output the json formatted data so that the jQuery call can read it
echo json_encode($jsonArray);
?>
谢谢
我刚刚验证了json_encode
确实在字符串中转义/
,因此它成为/
。如果没有转义,它仍然是有效的JSON,但php还是会这样做。
你应该使用JSON解析器(例如jQuery $.parseJSON(...)
)从它获得一个对象,或者你可以用/
代替/
。
或者查看这里如何在JavaScript中解析JSON ?