本文目錄一覽:
如何解決php中json
json_decode()
json_decode
(PHP 5 = 5.2.0, PECL json = 1.2.0)
json_decode — 對 JSON 格式的字符串進行編碼
說明
mixed json_decode ( string $json [, bool $assoc ] )
接受一個 JSON 格式的字符串並且把它轉換為 PHP 變量
參數
json
待解碼的 json string 格式的字符串。
assoc
當該參數為 TRUE 時,將返回 array 而非 object 。
返回值
Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.
2.json_encode()
json_encode
(PHP 5 = 5.2.0, PECL json = 1.2.0)
json_encode — 對變量進行 JSON 編碼
Report a bug 說明
string json_encode ( mixed $value [, int $options = 0 ] )
返回 value 值的 JSON 形式
Report a bug 參數
value
待編碼的 value ,除了resource 類型之外,可以為任何數據類型
該函數只能接受 UTF-8 編碼的數據
options
由以下常量組成的二進制掩碼: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.
Report a bug 返回值
編碼成功則返回一個以 JSON 形式表示的 string 或者在失敗時返回 FALSE 。
Report a bug 更新日誌
版本 說明
5.4.0 options 參數增加常量: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, 和 JSON_UNESCAPED_UNICODE。
5.3.3 options 參數增加常量:JSON_NUMERIC_CHECK。
5.3.0 增加 options 參數.
php解析json數據
json_encode
對中文的處理是有問題的:
不能處理GBK編碼,所有的GBK編碼都會替換成空字符;
utf8編碼的中文被編碼成unicode編碼,相當於javascript的escape函數
處理的結果。
為了能正確使用json,首先我們就應該在編碼上採用utf8編碼,然後再對
json_encode的返回結果稍加處理就可以得到正確的結果了。
即需要加:原始數據$json=iconv(“GBK”,”UTF-8″,$json);
json_decode之後需要顯示或使用時,再轉回來
echo iconv(“UTF-8″,”GBK”,$decode[‘data’][0][‘APPName’]);
如何使用PHP語言來編碼和解碼JSON對象
數組轉json
?php
$arr =array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);
echo json_encode($arr);
?
json轉數組
$json ='{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}’;
var_dump(json_decode($json,true));
PHP 如何讀取如下的JSON數據?
php內置json編碼和解析函數
$response=file_get_contents(‘;key=申請的QQ地圖密鑰’);
//把字符串解析為數組,第二個參數默認false,解析為對象
$json = json_decode($response,true);
echo $json[‘location’][‘lng’];
echo $json[‘location’][‘lat’];
//把數組編碼成字符串輸出,第二個參數為不編碼unicode字符(漢字就屬於unicode,不編碼則原樣顯示,編碼後為 \uxxxx 的格式)
echo json_encode($json,JSON_UNESCAPED_UNICODE);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/277685.html