可能性のある複製:
PHPを使用したプリティプリントJSON
JSONファイルを作成するスクリプトに取り組んでいます。現在、配列をJSON出力にエンコードするためにjson_encode
(PHP 5.2.x)を使用しています。次に、返された値をファイルに出力して保存します。問題は、クライアントが読みやすいようにこれらのJSONファイルを開きたいということです。そこで、改行を追加し、JSON出力を「きれいに印刷」したいと思います。これを行う方法に関するアイデアはありますか?私が見ることができる私の唯一の他の選択肢は、json_encode
をまったく使用せず、ファイルの内容を手動で書き込み、各行に独自の改行を追加することです。
私が得るものは次のとおりです。
{"product_name":"prod1","val1":1,"val2":8}
私が欲しいものは次のとおりです。
{
"product_name":"prod1",
"val1":1,
"val2":8
}
すべてのコンマをコマンドの後に\ nを付けて置き換えることもできると思います。括弧についても同じです...
PHPには、5.4.0(リリース日2012年3月1日)以降、JSON_PRETTY_PRINTオプションがあります。
これは仕事をするはずです:
$json = json_decode($string);
echo json_encode($json, JSON_PRETTY_PRINT);
http://www.php.net/manual/en/function.json-encode.php を参照してください
注:書式設定を保持するためにHTMLで印刷する場合は、「<pre>」を前後に「</ pre>」をエコーすることを忘れないでください;)
うーん$array = json_decode($json, true);
はあなたの文字列をprint_r($array, true);
でうまく印刷しやすい配列にします
しかし、あなたが本当にあなたのjsonをきれいにしたいなら... チェックアウト
JSONをきれいにする関数を次に示します。 pretty_json
PHP 5.3では、この関数を使用できます。この関数は、クラスに埋め込むか、手続き型で使用できます。
http://svn.kd2.org/svn/misc/libs/tools/json_readable_encode.php