首頁  >  文章  >  後端開發  >  php怎麼將字串變數轉為json對象

php怎麼將字串變數轉為json對象

青灯夜游
青灯夜游原創
2021-05-21 14:42:474664瀏覽

在php中,可以使用json_encode()函數將字串變數轉為json對象,語法「json_encode(字串變數)」;json_encode()函數用於對任何資料類型的變數進行JSON編碼,將其轉換成JSON格式的資料。

php怎麼將字串變數轉為json對象

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

PHP中將字串變數轉換成Json格式

<?php
header("Content-Type:text/html;charset=utf-8;");
$arr = array (‘Version_code‘=>2,‘Version_name‘=>‘UpdateVersion‘,‘Versoin_desc‘=>‘更新了地图功能‘,‘Versoin_path‘=>‘http://nnddkj.com/BusIot/APK/BusIot.apk‘);
echo json_encode($arr);
?>

如上程式碼,即為將字串變數轉換成json格式輸出,但是輸出結果如下:

{"Version_code":2,"Version_name":"UpdateVersion","Versoin_desc":"\u66f4\u65b0\u4e86\u5730\u56fe\u529f\u80fd","Versoin_path":"http:\/\/nnddkj.com\/BusIot\/APK\/BusIot.apk"}即数组中所有中文在json_encode之后都不见了或者出现\u2353等。

解決方法是用urlencode()函數處理以下,在json_encode之前,把所有陣列內所有內容都用urlencode()處理一下,然用json_encode()轉換成json字串,最後再用urldecode()將編碼過的中文轉回來。

<?php
header("Content-Type:text/html;charset=utf-8;");
$arr = array (‘Version_code‘=>2,‘Version_name‘=>‘UpdateVersion‘,‘Versoin_desc‘=>urlencode(‘更新了地图功能‘),‘Versoin_path‘=>urlencode(‘http://nnddkj.com/BusIot/APK/BusIot.apk‘));
echo urldecode(json_encode($arr));
?>

輸出結果:{"Version_code":2,"Version_name":"UpdateVersion","Versoin_desc":"更新了地圖功能","Versoin_path":"http://nnddkj.com/BusIot /APK/BusIot.apk"}

搞定。 。

附:json_decode對JSON格式的字串進行編碼,而json_encode對變數進行JSON 編碼

json_decode - 對JSON 格式的字串進行編碼

#說明:

mixed json_decode ( string $json [, bool $assoc ] )

接受一個J SON 格式的字串並且把它轉換為PHP 變量,$assoc,當該參數為TRUE 時,將傳回array 而非object

# 推薦學習: 《PHP影片教學

以上是php怎麼將字串變數轉為json對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn