PHP で JSON をプリティプリントする
-
PHP で HTML の
<pre>
タグとJSON_PRETTY_PRINT
オプションを使用して JSON 文字列をプリティファイする -
PHP で
application/json
およびJSON_PRETTY_PRINT
オプションを使用して JSON 文字列をプリティファイする -
PHP で
json_encode()
およびjson_decode()
関数を使用して 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
に連想配列を作成します。キーMarcus
、Mason
、および Jadon
と、値 23
、19
、および 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-Type
を application/json
に設定し、ブラウザーの種類を通知できます。データを JSON 形式で表示します。最初のメソッドと同様に、JSON_PRETTY_PRINT
オプションを使用して文字列をきれいにすることができます。デモンストレーションには同じ連想配列を使用します。最初のメソッドと同じように、json_encode()
関数を使用できます。
たとえば、header()
関数を記述し、Content-Type
を application/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-Type
を application/json
に設定します。変数 $json1
を作成し、その中に生の JSON オブジェクトを保存します。次に、変数 $json1
で json_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 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