我试图将响应数组编码为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才发生?
答案 0 :(得分:2)
其他一段代码在输出json字符串之前产生'Array'输出,你可以通过将输出行改为
来证明这一点。echo "json_encode returned ".json_encode( $response );
检查代码中的其他echo语句。
答案 1 :(得分:1)
关于加分问题:
\t
是PHP中的一个标签。您的代码可能包含选项卡而不是某处的空格,可以将其呈现为多个\t
。