PHP JSON响应在JSON输出之前写入'Array'

时间:2013-05-16 10:02:06

标签: php json

我遇到了与本课题中所述相同的问题: "Array" Appearing Before JSON Ouput

PHP的输出在JSON之前显示“Array”一词:

Array[{"item":{"ID":"1","idUser":"1",.......}}]

我尝试过使用echo(..)print_r(..),但都显示“数组”这个词。

    public function render($content) {
        header('Content-Type: application/json');
        $json = json_encode($content);        
        echo($json);  // also tried print_r($json)
        return true;
    }

PHP方面的变量$json看起来很好 - 即Array[{"item":{"ID":"....[{"item":{"ID":"...

任何人都可以开导我吗?!

2 个答案:

答案 0 :(得分:4)

我很抱歉,但是您的代码中的其他地方还有其他输出。

但是,要尝试解决您的问题,您可以使用ob_end_clean函数清除先前的输出,如下所示:

public function render($content) {

   ob_end_clean();

   header('Content-Type: application/json');
   $json = json_encode($content);        
   echo $json;  // also tried print_r($json)
   return true;
} 

答案 1 :(得分:0)

删除echo,只返回json变量。 即返回$ json;