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

Subodh Poudel 2023年1月30日
  1. PHP で HTML の <pre> タグと JSON_PRETTY_PRINT オプションを使用して JSON 文字列をプリティファイする
  2. PHP で application/json および JSON_PRETTY_PRINT オプションを使用して JSON 文字列をプリティファイする
  3. PHP で json_encode() および json_decode() 関数を使用して JSON 文字列をプリティファイする
PHP で JSON をプリティプリントする

この記事では、PHP で生の JSON 文字列を美しくするためのさまざまな方法を紹介します。

PHP で HTML の <pre> タグと JSON_PRETTY_PRINT オプションを使用して JSON 文字列をプリティファイする

json_encode() 関数を使用して、値を JSON 形式に変換できます。インデックス付き配列、連想配列、およびオブジェクトを JSON 形式にエンコードできます。json_encode() 関数には、JSON 文字列を修飾するオプション JSON_PRETTY_PRINT があります。美しくする文字列を指定してから、json_encode() 関数のオプションを指定できます。文字間にスペースを追加し、文字列の見栄えを良くします。ただし、<pre>HTML タグを使用して、文字列を新しい行にインデントすることができます。以下の例では、連想配列をきれいにします。タグは、文字列内の各キーと値のペアの後の改行を保持します。

たとえば、変数 $age に連想配列を作成します。キーMarcusMason、および Jadon と、値 2319、および 20 を記述します。次に、$age 変数で json_encode() 関数を使用し、2 番目のパラメーターとしてオプション JSON_PRETTY_PRINT を記述し、式を $json_pretty 変数に格納します。次に、それを囲む変数を HTML<pre> タグでエコーします。

サンプルコード:

$age = array("Marcus"=>23, "Mason"=>19, "Jadon"=>20)
$json_pretty = json_encode($age, JSON_PRETTY_PRINT);
echo "<pre>".$json_pretty."<pre/>";

出力:

{
    "Marcus": 23,
    "Mason": 19,
    "Jadon": 20
}

PHP で application/json および JSON_PRETTY_PRINT オプションを使用して JSON 文字列をプリティファイする

header() 関数を使用して、Content-Typeapplication/json に設定し、ブラウザーの種類を通知できます。データを JSON 形式で表示します。最初のメソッドと同様に、JSON_PRETTY_PRINT オプションを使用して文字列をきれいにすることができます。デモンストレーションには同じ連想配列を使用します。最初のメソッドと同じように、json_encode() 関数を使用できます。

たとえば、header() 関数を記述し、Content-Typeapplication/json に設定します。次の行では、最初のメソッドで行ったように、配列で json_encode() 関数を JSON_PRETTY_PRINT オプションとともに使用します。その結果、新しい行ごとに JSON データのきれいなバージョンが取得されます。

サンプルコード:

$age = array("Marcus"=>23, "Mason"=>19, "Jadon"=>20);
header('Content-Type: application/json');
echo json_encode($age, JSON_PRETTY_PRINT);
?>

出力:

{
    "Marcus": 23,
    "Mason": 19,
    "Jadon": 20
}

PHP で json_encode() および json_decode() 関数を使用して JSON 文字列をプリティファイする

json_encode() 関数と json_decode() 関数および JSON_PRETTY_PRINT をパラメーターとして使用して、PHP で JSON 文字列を美しくすることができます。また、2 番目のメソッドと同様に header() 関数を使用して、JSON 形式についてブラウザーに通知します。次の例では、JSON オブジェクトをプリティファイします。JSON オブジェクトを取得し、json_decode() 関数を使用してデコードしてから、json_encode() 関数と JSON_PRETTY_PRINT オプションを使用してエンコードします。

たとえば、上記の方法で行ったように、Content-Typeapplication/json に設定します。変数 $json1 を作成し、その中に生の JSON オブジェクトを保存します。次に、変数 $json1json_decode() 関数を使用します。デコードされた JSON オブジェクトを json_encode() 関数の最初のパラメーターとして使用し、JSON_PRETTY_PRINT オプションを 2 番目のパラメーターとして使用します。式を $json2 変数に格納し、エコーします。

サンプルコード:

header('Content-Type: application/json');
$json1 = '{"a":10,"b":20,"c":30,"d":40,"e":50}';
$json2 = json_encode(json_decode($json1), JSON_PRETTY_PRINT);
echo $json2;

出力:

{
    "a": 10,
    "b": 20,
    "c": 30,
    "d": 40,
    "e": 50
}
著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

関連記事 - PHP JSON