Php HighStock don';我不能接受我的JSON数据

Php HighStock don';我不能接受我的JSON数据,php,json,Php,Json,几天前我发现了HighStock。我想使用SQL数据库中的数据。通过php,我读出了信息,并以JSON风格进行了回应 这是剧本 <?php include ("dbverbindung.php"); echo "["; $sql = "SELECT time, amperage FROM pikkertonnode_44664399"; $erg = mysql_query($sql); while ($data= mysql_fetch_array($erg)) { if ($data[

几天前我发现了HighStock。我想使用SQL数据库中的数据。通过php,我读出了信息,并以JSON风格进行了回应

这是剧本

<?php
include ("dbverbindung.php");
echo "[";
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);
while ($data= mysql_fetch_array($erg))
{
if ($data['amperage'] == "") $data['amperage'] = 0;
echo "[".$data['time'].",".$data['amperage']."],"   ;
}
echo "]";    ?>
这是正确的吗?

使用这个:

<?php
include ("dbverbindung.php");
echo "[";
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);
$temp_array=array();
while ($data= mysql_fetch_array($erg))
{
array_push(temp_array,data);
}
echo json_encode($temp_array);   // make json data
?>

您不应该手动创建JSON,而应该使用。只需按照您的要求制作数组,然后让PHP对其进行编码

<?php
include ("dbverbindung.php");
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);

$json = array();
while ($data= mysql_fetch_array($erg)){
    if ($data['amperage'] == ""){
        $data['amperage'] = 0;
    }

    $json[] = array($data['time'], $data['amperage']);
}

echo json_encode($json);
?>

好的。问题是Highchart/Highstock不接受字符串。JSONdata是正确的

e、 g.[“123”、“12”]、[“123”、“12”]、[“123”、“12”]

但这对“”是无用的

代码应该如下所示

while ($data= mysql_fetch_array($erg)){
if ($data['amperage'] == ""){
    $data['amperage'] = 0;
}
$x = $data['time'];
$y = $data['amperage'];

$json[] = array( (int($x), int($y) );
}
现在我有了我想要的代码。。Highstock现在工作得很好


[[123,12],[123,12],[123,12]]

这是有效的JSON。但是,HighStock可能需要特定的根格式,即object vs array。请不要自己创建JSON字符串!如果你在回显json,你怎么能把它传递给某个地方的调用呢?显示进行调用的代码。该数组看起来有多高。HighStock代码是什么样子的?此数组发送到哪里?您的JSON无效。它应该包装在
{}
中,而不是
[]
中。您的代码不会生成您提供的json。它将生成具有
time
amperage
键的对象。@MrCode-它对john数据的更正,它的样本,它不是来自代码。问题中的样本JSON是有效的。@sourcecode,这是一个糟糕的JSON示例,因为StartHighStock需要一个值数组,为什么
1264978800000
是一个键?其次,您的JSON在中途切换了格式。最后,您需要对有效的JSON使用双引号。
<?php
include ("dbverbindung.php");
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);

$json = array();
while ($data= mysql_fetch_array($erg)){
    if ($data['amperage'] == ""){
        $data['amperage'] = 0;
    }

    $json[] = array($data['time'], $data['amperage']);
}

echo json_encode($json);
?>
while ($data= mysql_fetch_array($erg)){
if ($data['amperage'] == ""){
    $data['amperage'] = 0;
}
$x = $data['time'];
$y = $data['amperage'];

$json[] = array( (int($x), int($y) );
}