将多个数组从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"]]')