-1

我正在尝试将响应数组编码为 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 发生?

4

2 回答 2

2

在输出 json 字符串之前,其他一些代码正在生成“数组”输出,您可以通过将输出行更改为来证明这一点

echo "json_encode returned ".json_encode( $response );

检查您的代码以获取其他回显语句。

于 2013-07-27T07:13:20.213 回答
1

关于您的奖金问题

\t是 PHP 中的一个选项卡。您的代码可能在某处包含制表符而不是空格,这可以呈现为多个\t's。

于 2013-07-27T07:25:40.013 回答