Php HighStock don';我不能接受我的JSON数据
几天前我发现了HighStock。我想使用SQL数据库中的数据。通过php,我读出了信息,并以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[
<?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) );
}