繁体   English   中英

在javascript中提取多维json数组

[英]extracting multidimension json array in javascript

我正在从服务器读取一个json响应,该服务器使用以下php代码从sqlite数据库发送多维数组:

while ($data = $result->fetchArray(SQLITE_NUM)) {
echo json_encode($data);

这工作正常,并以下列格式将其数据作为字符串发送出去:[1,“Board1”,“Floor1”,1,100,1,“D1”,“D2”,“D3”,“D4”,“D5” ,“D6”,“D7”,“D8”,“D9”,“D10”] [1,“Board2”,“Floor2”,1,100,1,“D1”,“D2”,“D3”,“D4 “,”D5“,”D6“,”D7“,”D8“,”D9“,”D10“] [1,”Board3“,”Floor3“,1,100,1,”D1“,”D2“,” D3" , “D4”, “D5”, “D6”, “D7”, “D8”, “D9”, “D10”]

我使用jQuery使用以下代码从服务器请求此数据,并希望将收到的数据保存在javascript数组中,以便我可以使用例如data [0] [1]访问单个项目来引用“Board2” “元素 - 但似乎不能这样做?

代码适用于单个数组,但不适用于多个数组?

JAVASCRIPT代码:

function requestMtrConfig() {
$.ajax({
    url: '/php/getmtrconfig.php',
    async:false,                    // synchronous read
    success: function(datas) {          
               data[0] = datas[0];
             data[1] = datas[1];
             data[2] = datas[2];
        }

    },       
    cache: false
});
}

如何将返回的json数组放入多维javascript数组? PS:我已经创建了一个名为data的全局多维JavaScript数组变量。

感谢Frank dobbs,非常感谢任何帮助

问题是你发送了几个JSON而没有将它们连接在一起。 这与发送JSON数组不同。

建议的补救措施:

$json = array();
while ($data = $result->fetchArray(SQLITE_NUM)) {
  $json[] = $data;
}
echo json_encode($json);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM