在 PHP 中漂亮地列印 JSON

Subodh Poudel 2023年1月30日 2021年10月2日
  1. 使用 HTML <pre> 標籤和 JSON_PRETTY_PRINT 選項來美化 PHP 中的 JSON 字串
  2. 使用 application/jsonJSON_PRETTY_PRINT 選項來美化 PHP 中的 JSON 字串
  3. 在 PHP 中使用 json_encode()json_decode() 函式美化 JSON 字串
在 PHP 中漂亮地列印 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 中建立一個關聯陣列。寫出鍵 MarcusMasonJadon 以及值 231920。接下來,在 $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/jsonJSON_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 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