3

私はこのコードを持っています:

<?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."
    }
}

しかし、次のように1行で表示されました。

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

期待どおりに適切にフォーマットされた JSON 出力を取得するにはどうすればよいですか? 実際にはそれほど重要ではありませんが、結果を適切な形式で表示したいだけです。


...ちなみに、結果を出力したいので、facebooksグラフリンクからヘッダーをコピーしました。例:graph.facebook.com/mOngsAng.gA


もちろん有効です。私が知りたいのは、次のように出力する方法だけです: graph.facebook.com/mOngsAng.gA - ご覧のとおり、適切にフォーマットされています。つまり、改行とインデントがあります。私が得ているものとは異なり、1行で表示されています。

4

1 に答える 1

4

PHPマニュアルJSON_PRETTY_PRINTのフラグを見てください。json_encode()以下を簡単に使用できます。

$data = json_encode($data, JSON_PRETTY_PRINT);

PHP 5.4またはそれ以上を使用していない場合は、質問の受け入れられた答えを試してみてください: Pretty-Printing JSON with PHP

ただし、あなたのものは有効なjson出力です!

于 2012-11-29T07:18:13.077 に答える