簡體   English   中英

如何將JSON從PHP轉換為Javascript數組

[英]How can I convert this JSON from PHP to a Javascript array

我正在嘗試將json數組分配給javascript數組,以便我的JS函數可以訪問該數組。 因此,我對MySQL db進行了ajax調用,以獲取數據的JSON數組:

var data = [];
    $.ajax({
      type:"post",
      url:"position.php",
      dataType:'json',
      success:function(jsonarray){
                data=$.parseJSON(jsonarray);
               }
     });

position.php:

<?php
include 'dbconnect.php';  

$sql = "SELECT pid, posX, posY FROM posTable;";
$result = $conn->query($sql);
$myrows = $result->num_rows;
$return=array();

if ($result->num_rows>0){

while($row=$result->fetch_assoc()){      
     $return[]=array((int)$row['pid'],(int)$row['posX'],(int)$row['posY']);        
     }

}else{
echo "[]";
}
echo json_encode($return);
$conn->close();
?>

這給出了這樣的輸出:

[[1,749,1000],[2,855,986],[3,955,946],[4,1037,934],[5,1111,912]]

因此,我需要以下二維數組,以便可以這種形式訪問其成員:

data[i][j]

data => [[1,749,1000],[2,855,986],[3,955,946],[4,1037,934],[5,1111,912]] 

但是,當我執行代碼時,我不斷收到以下錯誤:

Uncaught SyntaxError: Unexpected token , in JSON at position 1

我究竟做錯了什么?

jQuery將填充成功函數的第一個參數之前自動解析JSON響應。

$.parseJSON(jsonarray); 在您的數組上調用toString() ,然后嘗試將其解析為JSON,而不是JSON(因為Array.prototype.toString()不會轉換為JSON)。

只是不要嘗試再次解析它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM