在 PHP 中漂亮地列印 JSON
-
使用 HTML
<pre>
標籤和JSON_PRETTY_PRINT
選項來美化 PHP 中的 JSON 字串 -
使用
application/json
和JSON_PRETTY_PRINT
選項來美化 PHP 中的 JSON 字串 -
在 PHP 中使用
json_encode()
和json_decode()
函式美化 JSON 字串
本文將介紹在 PHP 中美化原始 JSON 字串的不同方法。
使用 HTML <pre>
標籤和 JSON_PRETTY_PRINT
選項來美化 PHP 中的 JSON 字串
我們可以使用 json_encode()
函式將值轉換為 JSON 格式。我們可以將索引陣列、關聯陣列和物件編碼為 JSON 格式。json_encode()
函式有一個選項 JSON_PRETTY_PRINT
美化 JSON 字串。我們可以指定要美化的字串,然後是 json_encode()
函式中的選項。它將在字元之間新增一些空格並使字串看起來更好。但是,我們可以使用 <pre>
HTML 標籤將字串縮排到新行。我們將在下面的例子中美化一個關聯陣列。標籤在字串中的每個鍵值對之後保留換行符。
例如,在變數 $age
中建立一個關聯陣列。寫出鍵 Marcus
、Mason
和 Jadon
以及值 23
、19
和 20
。接下來,在 $age
變數上使用 json_encode()
函式並編寫選項 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
}
使用 application/json
和 JSON_PRETTY_PRINT
選項來美化 PHP 中的 JSON 字串
我們可以使用 header()
函式將 Content-Type
設定為 application/json
以通知瀏覽器型別。它將以 JSON 格式顯示資料。我們可以像第一種方法一樣使用 JSON_PRETTY_PRINT
選項來美化字串。我們將使用相同的關聯陣列進行演示。我們可以像第一種方法一樣使用 json_encode()
函式。
例如,編寫 header()
函式並將 Content-Type
設定為 application/json
。在下一行中,像我們在第一種方法中所做的那樣,在陣列上使用帶有 JSON_PRETTY_PRINT
選項的 json_encode()
函式。因此,我們將在每一行中獲得一個 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 字串。我們也像第二種方法一樣使用 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
選項作為第二個引數。將表示式儲存在 $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