JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於閱讀和編寫,通常在前後端數據傳輸時使用。在 PHP 中,使用 json_encode()
函數可以將一個數組轉換為 JSON 格式的字元串。本文將詳細介紹使用 json_encode()
函數將數組轉換為 JSON 格式的方法。
一、普通數組轉換為JSON
普通數組指的是只有鍵值沒有屬性的數組。下面是一個普通數組的例子:
$normal_array = array('apple', 'banana', 'orange');
將該數組轉換為 JSON,需要使用 json_encode()
函數,如下所示:
$json_string = json_encode($normal_array);
echo $json_string;
輸出結果:
["apple","banana","orange"]
可以發現,普通數組轉換為 JSON 後,會以英文半形的中括弧包裹,各元素以英文半形的逗號分隔。
二、關聯數組轉換為JSON
關聯數組指的是包含屬性和屬性值的數組。下面是一個關聯數組的例子:
$assoc_array = array('name' => 'Tom', 'age' => 18, 'gender' => 'male');
同樣使用 json_encode()
函數將該數組轉換為 JSON,如下所示:
$json_string = json_encode($assoc_array);
echo $json_string;
輸出結果:
{"name":"Tom","age":18,"gender":"male"}
可以發現,關聯數組轉換為 JSON 後,會以英文半形的花括弧包裹,各屬性以英文半形的逗號分隔,屬性名和屬性值以英文半形的冒號連接。
三、嵌套數組轉換為JSON
在 PHP 中,可以使用數組嵌套的方式存儲複雜的數據結構。下面是一個嵌套數組的例子:
$nested_array = array(
'fruit' => array('apple', 'banana', 'orange'),
'vegetable' => array('carrot', 'tomato', 'cucumber')
);
同樣使用 json_encode()
函數將該數組轉換為 JSON,如下所示:
$json_string = json_encode($nested_array);
echo $json_string;
輸出結果:
{"fruit":["apple","banana","orange"],"vegetable":["carrot","tomato","cucumber"]}
可以發現,嵌套數組轉換為 JSON 後,會以英文半形的花括弧包裹,各屬性以英文半形的逗號分隔,屬性值可以是普通數組或關聯數組。
四、通過選項參數控制JSON輸出
在使用 json_encode()
函數將數組轉換為 JSON 時,還可以通過選項參數控制輸出的格式。下面是一些常用的選項參數:
JSON_PRETTY_PRINT
:使用縮進和換行符使輸出更易於閱讀。JSON_UNESCAPED_UNICODE
:不對中文進行unicode編碼。JSON_FORCE_OBJECT
:始終將轉換後的數據作為對象返回。
下面是一個使用選項參數的例子:
$assoc_array = array('name' => 'Tom', 'age' => 18, 'gender' => 'male');
$json_string = json_encode($assoc_array, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_FORCE_OBJECT);
echo $json_string;
輸出結果:
{
"name": "Tom",
"age": 18,
"gender": "male"
}
可以看到,輸出結果進行了格式化,不對中文進行編碼,並且始終將轉換後的數據作為對象返回。
五、總結
本文從普通數組、關聯數組、嵌套數組和選項參數四個方面介紹了如何使用 json_encode()
函數將數組轉換為 JSON 格式的字元串。使用 json_encode()
函數將數組轉換為 JSON 格式,便於數據的傳輸和處理。
原創文章,作者:FVCAZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317999.html