[英]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.