json用php编码数组 - array()变成“Array {...}”而不是“[...]”

时间:2013-07-27 07:05:11

标签: php jquery json

我试图将响应数组编码为json,直到现在它一直工作。

$response = array();
$response['icons']= $icons_arr;
$response['message']= $msg;

echo json_encode( $response );

结果是

Array{"icons":["{\r\n\t\t\t\t\t\"icon_web_id\": \t\t\t\"0 ... 

Javascript会抛出错误,因为它无法解析"数组"字。我怀疑JQuery函数$ .parseJSON()需要{}或[]。

我在这里做错了什么?为什么json_encode()功能正常?

奖金问题:是什么导致所有这些\ t \ t \ t \ t \ t才发生?

2 个答案:

答案 0 :(得分:2)

其他一段代码在输出json字符串之前产生'Array'输出,你可以通过将输出行改为

来证明这一点。
echo "json_encode returned ".json_encode( $response );

检查代码中的其他echo语句。

答案 1 :(得分:1)

关于加分问题

\t是PHP中的一个标签。您的代码可能包含选项卡而不是某处的空格,可以将其呈现为多个\t