将多个数组从JSON解析为JavaScript
我有这个:将多个数组从JSON解析为JavaScript,javascript,php,json,Javascript,Php,Json,我有这个: <?php $sql2 = "SELECT dev_id FROM logs"; if ($br_result=mysqli_query($conn,$sql2)) { while ($br_row=mysqli_fetch_row($br_result)) { $uniq_br[] = $br_row[0]; } } $uniq_br = array_unique
<?php
$sql2 = "SELECT dev_id FROM logs";
if ($br_result=mysqli_query($conn,$sql2))
{
while ($br_row=mysqli_fetch_row($br_result))
{
$uniq_br[] = $br_row[0];
}
}
$uniq_br = array_unique($uniq_br);
?>
<?php
$sql_2 = "SELECT * FROM logs WHERE dev_id = '$value' ORDER BY TimeStamp DESC LIMIT 12";
$result_br=mysqli_query($conn,$sql_2);
while ($row=mysqli_fetch_row($result_br))
{
$json_feed = array($row[2],$row[3],$row[4]);
echo json_encode($json_feed);
}
?>
试试这个
JSON.parse('[["14", "46", "2.55"],
["11", "42", "-1.44"],
["12", "41", "-0.86"]]');
请注意,您的结构是错误的。让我们看看这种情况:
我们有以下PHP代码:
<?php
$row = [
2=> ["14","46","2.55"],
3 => ["11","42","-1.44"],
4 => ["12","41","-0.86"],
];
$json_feed = array($row[2],$row[3],$row[4]);
print_r(json_encode($json_feed));
您只需在JS中使用:
JSON.parse('[["14","46","2.55"],["11","42","-1.44"],["12","41","-0.86"]]')
结果将是如下所示的数组:
这不是有效的JSON。如果内容确实是这样的,则无法使用内置工具将其解析为JSON。您可以编写自己的解析器来解释它,也可以修复服务器端代码,使其生成正确的内容。谢谢大家。我使用以下命令来实现这一点:$json_feed=array($row[2],$row[3],$row[4]);json_编码($json_提要);简单地说,首先生成要传递的整个数组,然后对该数组进行一次json_编码。正如Libor指出的,这可能是无效的,因为您多次回显json_编码(然后可能手动包装{}
?)。因此,您希望将json_编码
行放在循环之后,将$json_提要=
行更改为$json_提要[]=
,并添加$json_提要=[]代码>在循环之前。
JSON.parse('[["14","46","2.55"],["11","42","-1.44"],["12","41","-0.86"]]')