使用php echo语句构建JSON

MrF*_*Foh 2 javascript php mysql json codeigniter

我试图从php数组构建一个JSON数组这是我在我的控制器中的功能

function latest_pheeds() {
            if($this->isLogged() == true) {
            $this->load->model('pheed_model');
            $data = $this->pheed_model->get_latest_pheeds();
            $last = end($data);
            echo "[";
                for($i = 0; $i < count($data); $i++) {
                    echo '{"user_id":"'.$data[$i][0]['user_id'].'",';
                    echo '"pheed_id":"'.$data[$i][0]['pheed_id'].'",';
                    echo '"pheed":"'.$data[$i][0]['pheed'].'",';
                    echo '"datetime":"'.$data[$i][0]['datetime'].'",';
                        if($i == count($data)) {
                        echo '"comments":"'.$data[$i][0]['comments'].'"}';
                        }else {
                            echo '"comments":"'.$data[$i][0]['comments'].'"},';
                        }
                    }

                echo "]";
            }
            return false;
    }
Run Code Online (Sandbox Code Playgroud)

它返回一个像这样的json数组

[{"user_id":"9","pheed_id":"2","pheed":"This is my first real pheed, its got potential ","datetime":"1313188898","comments":"0"},{"user_id":"9","pheed_id":"11","pheed":"My stomach being hurting all day","datetime":"1313422390","comments":"0"},{"user_id":"9","pheed_id":"11","pheed":"My stomach being hurting all day","datetime":"1313422390","comments":"0"},{"user_id":"9","pheed_id":"10","pheed":"Thank God for stackoverflow.com ","datetime":"1313358605","comments":"0"},]
Run Code Online (Sandbox Code Playgroud)

但我似乎无法用jquery访问它

der*_*ann 8

我相信问题在于数组末尾的尾随逗号.

而不是尝试自己编码,使用PHP的json_encode函数.它已经过多次测试和验证,因此您无需重新发明轮子.

  • @MrFoh:这是一个不同的问题.我建议设置标题以表明您正在返回JSON. (2认同)