有问题试图从PHP编码json

时间:2016-03-14 16:48:04

标签: php json flightphp

所以,这是我的php代码:

$lista = Producoes::getPublicList();
if(count($lista) > 0){

    $jsonObj = array();

    foreach ($lista as $post){
        $jsonPost = array();
        $jsonPost["id"]=$post->id_post;
        $jsonPost["url_post"]=$post->url_post;
        $jsonPost["url_path"]=$post->url_path;
        $jsonPost["url_foto"]=$post->url_foto;
        $jsonPost["post_title"]=$post->post_title;
        array_push($jsonObj, $jsonPost);
    }

    error_log( print_r($jsonObj,TRUE) );
}

Flight::json($jsonObj);

在错误日志中,我可以看到我得到了正确的输出结构:

Array(
[0] => Array
    (
        [id] => 1
        [url_post] => http://www.blogbellafiore.com/2016/03/especial-de-pascoa-bella-fiore.html
        [url_path] => especial-de-pascoa-bella-fiore.html
        [url_foto] => https://4.bp.blogspot.com/-bd3jBX0GACc/Vt2qx4wfwuI/AAAAAAAAi-U/PvF_AtZhPOg/s640/GM_0003.jpg
        [post_title] => Especial de Páscoa Bella Fiore
    )

[1] => Array
    (
        [id] => 3
        [url_post] => http://www.blogbellafiore.com/2013/03/editorial-de-pascoa.html
        [url_path] => editorial-de-pascoa.html
        [url_foto] => http://2.bp.blogspot.com/-ay94xBCYqtY/UUtHNsE2p1I/AAAAAAAAG1s/qjG6lS22IMg/s640/Pa%CC%81scoa-5.jpg
        [post_title] => Editorial de Páscoa
    )

[2] => Array
    (
        [id] => 2
        [url_post] => http://www.blogbellafiore.com/2015/12/editorial-de-fotos-barraquinha-da-sophie.html
        [url_path] => editorial-de-fotos-barraquinha-da-sophie.html
        [url_foto] => https://2.bp.blogspot.com/-LF9rLCqpyl0/VnhNTfiLy2I/AAAAAAAAhlM/O-B1IwN_FJY/s640/Editorial_Barraquinha_da_Sophie__10.JPG
        [post_title] => Editorial - Barraquinha da Sophie
    )
)

但是json输出没有显示任何内容。只是空白。

我使用FlightPHP框架作为路由器,因此方法Flight:json($ var)编码并返回json响应。已经在其他地方使用它,并且工作正常。

1 个答案:

答案 0 :(得分:1)

@deceze解决了它,我只需要utf8编码帖子标题,这个修改工作:

$jsonPost["post_title"]=utf8_encode($post->post_title);