json_encode(PHP)返回非JSON对象

时间:2015-10-06 02:09:20

标签: php json

我想在我拥有的PHP数组上使用json_encode,然后将其返回给AJAX调用。

这是名为$match_array

的php数组
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对象。知道为什么会这样吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用JSON_FORCE_OBJECT标记,尝试:

json_encode($array, JSON_FORCE_OBJECT);

答案 1 :(得分:0)

json_encode将带有编号键值的数组解释为JSON数组,该数组是有效的JSON字符串。如果您使用类似JSON.parse()的内容,它会在JavaScript中返回一个数组。如果您实际上正在寻找对象类型,上面的海报是正确的。使用JSON_FORCE_OBJECT将强制数组采用对象表示法,如{'0': 1966318353 ... }