如何从PHP文件输出格式正确的JSON?

我有这样的代码:

<?php

    header('Content-Type: text/javascript; charset=UTF-8');
    header('Cache-Control: private, no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');

    $data = array(
        "data" => array(
            "sender" => "Jhon Andrew",
            "recipient" => "Someone OverThe Internet",
            "conversation" =>
            array(
                "unix" => "1234567890",
                "message" => "Lorem ipsum dolor sit amet."
            ),
            array(
                "unix" => "0987654321",
                "message" => "Tema tis rolod muspi merol."
            )
        )
    );

    echo json_encode($data);

?>

我期待着这样的结果:

{
    "data": {
        "sender":"Jhon Andrew",
        "recipient":"Someone OverThe Internet",
        "message":"Lorem ipsum dolor sit amet."
    }
}

但是我把它显示在一行中,就像这样:

{"data":{"sender":"Jhon Andrew","recipient":"Someone OverThe Internet","message":"Lorem ipsum dolor sit amet."}}

我如何才能正确格式化JSON输出,就像我期待的那样? 实际上这并不重要,但我只想看到格式良好的结果。


...顺便说一句,我只是从脸谱图链接复制头,因为这是我想输出结果。 例如:graph.facebook.com/mOngsAng.gA


当然是有效的。 所有我想知道的是如何输出它像这样:graph.facebook.com/mOngsAng.gA - 正如你可以看到它被正确格式化。 我的意思是它有断线和凹痕。 不像我得到的只是一行显示。


在php手册中看看json_encode() JSON_PRETTY_PRINT标志。 你可以简单地使用:

$data = json_encode($data, JSON_PRETTY_PRINT);

如果您不使用PHP 5.4或更高版本,请尝试使用接受的问题答案:使用PHP打印JSON。

然而,你的是一个有效的 json输出!

链接地址: http://www.djcxy.com/p/47281.html

上一篇: How to output a properly formatted JSON from a PHP file?

下一篇: encode() with output