2015-10-06 83 views
0

我想在我有的PHP数组上使用json_encode,然后将其返回给AJAX调用。json_encode(PHP)返回一个非JSON对象

这里是PHP数组称为$match_array

Array ([0] => 1966318353 [1] => 1962510086 [2] => 1962465781 [3] => 1962349187 [4] => 1962281400 [5] => 1962111347 [6] => 1962016291 [7] => 1961983582 [8] => 1961926702 [9] => 1961799894) 

$match_array返回使用json_encode以下:

[1966318353,1962510086,1962465781,1962349187,1962281400,1962111347,1962016291,1961983582,1961926702,1961799894] 

此得到由解析器作为非JSON对象解释。任何想法为什么这可能会发生?

谢谢!

+0

'json_encode'会将您的数组转换为json字符串。让你在客户端访问解析它。 – aldrin27

+0

你期望字符串看起来像什么? – Phil

回答

0

可以使用JSON_FORCE_OBJECT标志时,尝试:

json_encode($array, JSON_FORCE_OBJECT); 
0

json_encode与解释作为一个JSON数组这是一个有效的JSON字符串编号的键值数组。如果你使用类似JSON.parse()的东西,它会给你一个JavaScript数组。如果您实际正在查找对象类型,上面的海报是正确的。使用JSON_FORCE_OBJECT将强制该数组使用对象表示法,如{'0': 1966318353 ... }