我试图从php发送一个多维数组到Javascript/jQuery,但我有一个问题。
当我通过json_encode($array);
发送索引0时,客户端收到我想要的格式的响应:
[[0,0],[1,0.031410759078128],[2,0.062790519529313],[3,0.094108313318514].etc..]
当我用firebug检查时,发送的索引0数组似乎没有到达JSON?
当我发送数组的任何其他索引时,客户端以这种格式接收数组(这是我不想要的):
{"1":[1,0.031410759078128],"2":[2,0.062790519529313],"3":[3,0.094108313318514].etc..}
当我检查客户端收到的数组时,如果索引不是0,我可以清楚地看到它是使用JSON发送的。
问题是什么,我怎么能让我所有的索引数组使用相同的格式发送我的数组[0]?
下面是我的php代码:$strJEncoded = json_encode($array);
echo $strJEncoded;
这是我的JS/Jquery代码:
$res = jQuery.parseJSON(response);
默认情况下,json_encode()
只会生成一个JSON数组,如果数组索引是从0
开始的序号。否则,生成一个JSON对象。
您可以使用array_values()
返回一个数组,其中索引从0
重新编号。
$strJEncoded = json_encode(array_values($array));