1. ホーム
  2. php

[解決済み] PHP "pretty print" json_encode [重複]。

2022-05-06 12:10:32

質問

<ブロッククオート

重複の可能性があります。

PHPでJSONをプリティープリントする

JSONファイルを作成するスクリプトを作成しています。現在、私は単に json_encode (PHP 5.2.x) で配列をエンコードして JSON 出力します。そして、返された値をファイルに出力し、それを保存しています。問題は、クライアントが読みやすくするためにこれらのJSONファイルを開くことができるようにしたいので、私は改行を追加し、JSON出力を"pretty print"したいと思います。これを行う方法について、何かアイデアはありますか?私が考えられる唯一の他の選択肢は json_encode ファイルの内容を手書きで書き、各行に独自の改行を追加するだけです。

こんな感じです。

{"product_name":"prod1","val1":1,"val2":8}

以下は、私が欲しいものです。

{
  "product_name":"prod1",
  "val1":1,
  "val2":8
}

コンマを全てコマンドに置き換えて、その後に"Ⅻ"を付ければいいんだろうけど。どうかしら?

解決方法は?

5.4.0 (リリース日 2012年3月1日) 以降、PHP には 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>" を echo するのを忘れないようにしてください ;)