色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php json轉中文

錢琪琛1年前7瀏覽0評論
很多時候我們都會在開發過程中使用 JSON 格式進行數據傳輸,但是當 JSON 中含有中文時可能會出現亂碼的問題。對于 PHP 開發者來說,解決這個問題其實很簡單,本文就為大家介紹一下 PHP 中如何將含有中文的 JSON 數據進行轉換。 在 PHP 開發中,我們可以使用 json_encode() 函數將數組或對象轉化為 JSON 格式。但是如果數組或對象中包含了中文,它所生成的 JSON 格式字符串會出現類似 “\u4e2d\u6587”的編碼形式,而不是直接輸出中文。因此我們需要對JSON字符串進行解碼處理,將 Unicode 編碼轉為中文。 舉個例子,我們有一個數組,其中包含中文:
// 定義含有中文的 PHP 數組
$data = array(
"name" =>"張三",
"age" =>20,
"gender" =>"男"
);
// 對數據進行編碼
$jsonStr = json_encode($data);
// 輸出編碼后的 JSON 字符串
echo $jsonStr;
此時輸出的 JSON 字符串中,中文會顯示為 Unicode 編碼:
{
"name": "\u5f20\u4e09",
"age": 20,
"gender": "\u7537"
}
為了將 JSON 中的 Unicode 編碼轉為中文,我們可以使用 PHP 中的 json_decode() 函數,并指定參數為 true,對 JSON 格式字符串進行解碼(參數為 true 表示將 JSON 轉換為 PHP 的關聯數組)。
// 解碼 JSON 數據,轉化為 PHP 數組形式
$data = json_decode($jsonStr, true);
// 輸出解析后的 PHP 數組
print_r($data);
這時我們就可以看到中文已經正確輸出了:
Array
(
[name] =>張三
[age] =>20
[gender] =>男
)
如果不指定解碼參數,就會將 JSON 解析成 PHP 的對象,而不是數組,這時我們需要使用對象的語法訪問屬性:
// 解碼 JSON 數據,轉化為 PHP 對象形式
$obj = json_decode($jsonStr);
// 輸出解析后的 PHP 對象
echo $obj->name;
這段代碼會輸出“張三”。 除了以上介紹的方法外,我們還可以使用 JSON_UNESCAPED_UNICODE 參數,讓 json_encode() 函數保留中文字符:
// 定義含有中文的 PHP 數組
$data = array(
"name" =>"張三",
"age" =>20,
"gender" =>"男"
);
// 對數據進行編碼,保留中文字符
$jsonStr = json_encode($data, JSON_UNESCAPED_UNICODE);
// 輸出編碼后的 JSON 字符串
echo $jsonStr;
這時輸出的 JSON 字符串就能直接顯示中文字符了:
{
"name": "張三",
"age": 20,
"gender": "男"
}
總之,無論是將 JSON 轉為 PHP 數組還是對象,我們都需要使用 PHP 自帶的 json_decode() 函數來解析 JSON。而如果要將 PHP 數組或對象轉為 JSON ,我們則需要調用 json_encode() 函數。在使用 json_encode() 函數時,如果要輸出中文,應該使用 JSON_UNESCAPED_UNICODE 參數進行設置。