我需要從我從mysql數據庫獲得的數據添加指向。在這個時候,我得到的JSON數據,但我不知道爲什麼在輸出數組中,數據有雙引號(」「)是這樣的:Highcharts用json添加指向折線圖
["{name:'Chip 3',data:[[moment('2015-05-14 13:26:21','HH:mm:ss').valueOf(),29],[moment('2015-05-14 13
:26:51','HH:mm:ss').valueOf(),29],[moment('2015-05-14 13:27:21','HH:mm:ss').valueOf(),29],[moment('2015-05-14
13:27:51','HH:mm:ss').valueOf(),29],[moment('2015-05-14 13:28:21','HH:mm:ss').valueOf(),29],[moment('2015-05-14
14:42:54','HH:mm:ss').valueOf(),32],]}"]
所以Highcharts無法訪問數據並顯示數據在圖表上。現在我需要刪除數組中的雙引號或者做其他事情來使Highcharts可以對數據進行regconize。
這是我用於獲取和更新系列數據的data.php文件中的代碼。
<?php
header("Content-type: text/json");
include_once 'include/connection.php';
$db = new DB_Class();
$query = "select distinct idchip from datatable ";
$result = mysql_query($query);
$rows = array();
$count = 0;
$getall = array();
while($row = mysql_fetch_array($result)) {
$table = array();
$query2 = "select datetime,temperature from datatable where idchip=".$row['idchip'].' group by datetime ';
$dataresult = mysql_query($query2);
while($datarow = mysql_fetch_array($dataresult))
{
$data = '';
$datatimes .= $datarow['0'].',';
$data .= "[moment('".$datarow['0']."','HH:mm:ss').valueOf(),".(integer)$datarow['1']."],";
$stringdata .= $data;
}
$newstring = $stringdata ;
$stringdata = '';
$stringtime = '';
$namedata = "{name:'Chip ".$row["idchip"]."',data:[$newstring]}";
$getall[] = $namedata;
}
echo json_encode($getall);
?>
這是我用來獲取ajax返回數據的代碼。
function getData() {
jQuery.ajax({
url: 'data.php',
type: 'GET',
dataType: 'json',
mimeType: 'multipart/form-data',
contentType: false,
cache: false,
processData: false,
success: function(data, jqXHR) {
if(data == "null") {
} else {
$.getJSON("data.php", function(json) {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'spline',
events: {
// load: requestData
}
},
series: json
});
});
}
},
error: function(textStatus) {
console.log(" error. damm. ");
//console.log(error);
}
});
}
問題是您構建在PHP中JSON對象的方式。請查看這[json](http://stackoverflow.com/questions/682260/returning-json-from-php-to-javascript)。您不必創建json字符串。你需要創建最終數組,然後只需使用json_encode($ getall);這將做到 –
@irfanrasool問題是如果我通過json數組添加我不能添加[時刻(...)]或這樣的數組中的一些事情。你能告訴我怎麼做這個請。 –
一般在json中你不能使用函數,因爲不會運行/評估,所以irfan rasool的建議是正確的。 –